0
当我尝试将当前级别的计数保存到applicationWillTerminate
函数中的NSUserDefaults时,它崩溃在我身上。为什么?当试图保存到NSUserDefaults时崩溃
----------------------- 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];
}
没有为我工作。终止时仍然崩溃。谢谢你的方式... –