Когда я пытаюсь сохранить текущий счетчик уровней в NSUserDefaults в функции applicationWillTerminate
, он вылетает у меня.Зачем ?
----------------------- AppDelegate.m -----------------------
- (void)applicationWillTerminate:(UIApplication *)application {
CCDirector *director = [CCDirector sharedDirector];
HelloWorldLayer *hWClass = [[HelloWorldLayer alloc]init];
NSNumber *lCount = [NSNumber numberWithInt:hWClass -> level];
hWClass -> lvlCount =[NSUserDefaults standardUserDefaults];
[hWClass -> lvlCount setObject:lCount forKey:@"levelCount"];
[[director openGLView] removeFromSuperview];
[viewController release];
[window release];
[director end];
}
----------------------- HelloWorldLayer.h -----------------------
...{
@public
int level;
NSUserDefaults *lvlCount;
int health;
...
}
@property (nonatomic,retain) NSUserDefaults *lvlCount;
----------------------- HelloWorldLayer.m ----------------------
NSNumber *currentLevel = [[NSUserDefaults standardUserDefaults] objectForKey:@"levelCount"];
if (currentLevel != nil){
int cLevel = [currentLevel integerValue];
[self generateLevelFromPlist:cLevel];
}else{
[self generateLevelFromPlist:1];
}