我是新這裏是我的問題: 我想寫一個遊戲,我想用一個GameStateManager類來管理遊戲狀態。正如我讀過Objective-C中的每個類都應該從NSObject或它的子類繼承。因此,這裏的GameStateManager接口:NSObject的繼承類崩潰在Objective-C的應用
@interface GameStateManager : NSObject {
int currentState_;
}
+(id) instance;
-(void) setState:(int)state;
@end
,這裏是實現:
@implementation GameStateManager
+(id) instance
{
GameStateManager *manager = [GameStateManager init];
return manager;
}
- (id) init
{
self = [super init];
return self;
}
- (void) setState: (int) state
{
switch (state)
{
case GS_MAIN_MENU_START:
{
// MenuScene *menuScene = [MenuScene node];
// [menuScene build: false];
MenuScene *scene = [scene instance:self :false];
[[CCDirector sharedDirector] runWithScene: scene];
}
break;
case GS_PLAYING:
{
}
break;
}
}
@end
我使用這個類在這裏:
gameStateManager = [GameStateManager instance];
[gameStateManager setState: GS_MAIN_MENU_START];
第二行產生SIGABRT信號。有什麼問題 ?
它看起來像你想創建一個單例。如果那是真的,那麼你做錯了。另外,檢查你的內存管理。 – 2010-10-17 18:51:05