在SpriteKit中终止后保存/加载高分

时间:2015-01-04 04:37:04

标签: ios objective-c sprite-kit nsuserdefaults

我一直在尝试尝试获得我的高分保存,或者当应用程序终止并重新打开时显示之前的高分。我使用NSUserDefaults,但没有多少运气。这是我的代码。

这用于获取/设置高分:

-(NSInteger)setHighScore {


highScore = self.score;
key = @"highScore" ;
[[NSUserDefaults standardUserDefaults] setInteger:highScore forKey:key];

return highScore;
}


-(NSInteger)getPreviousHighScore {


highScore = [[NSUserDefaults standardUserDefaults] integerForKey:key];

return highScore; }

NSInteger" highScore"和字符串"键"是静态的,并在课程开始时正确声明。

static NSInteger highScore;
static NSString *key = @"highScore";

在我的didMoveToView中,我有一个标签来测试获得之前的高分...这就是代码。

SKLabelNode *label = [SKLabelNode labelNodeWithFontNamed:@"Chalkduster"];
label.text = [NSString stringWithFormat:@"%i", [self getPreviousHighScore]];
label.position = CGPointMake(CGRectGetMidX(self.frame), CGRectGetMidY(self.frame));
label.fontColor = [UIColor blackColor];
[self addChild:label];

最后,在我的AppDelegate.m中,我有这个:

 [[NSUserDefaults standardUserDefaults] synchronize];

毕竟这个我的标签每次只显示0。我做错了什么?

0 个答案:

没有答案
相关问题