我试图用NSUserDefults保存为我的游戏加载高分(NSInteger的)。 我创建了检查gameoverscore比我高分大的空隙功能,如果它在它们之间进行切换。 我想,每一个游戏的时间在那里将是一个标志,表明我当期的高分。 要做到这一点,我创建了我的NSUsweDefults的属性,在我viewDidLoad中我试图加载当期的高分,和另一个函数(checkIfHighscore)。 这里是我的NSUserDefults属性:
@property(readwrite) NSUserDefaults *prefs;
这里是我的viewDidLoad代码:
NSInteger currectHighscore = [prefs integerForKey:@"highscore"];
highScoreLabel.text = [NSString stringWithFormat:@"%d",currectHighscore];
这里是我的checkIfHighscore:
-(void)checkIfHighScore
{
if(gameOverScore > highScore)
{
highScore = gameOverScore;
[self newHighscoreAnimation];
[prefs setInteger:highScore forKey:@"highscore"];
[prefs synchronize];
}
highScoreLabel.text = [NSString stringWithFormat:@"Highscore: %d", highScore];
}
当我进入这个视图 - 控制我的highscorelabel显示0,就像它不保存我的高分。
我该怎么办错了吗? 谢谢!