我试图用NSUserDefults为我的游戏保存并加载高分(nsinteger)。 我创建了一个void函数来检查gameoverscore是否比我的高分大,以及它是否在它们之间切换。我希望每次比赛结束时都会有一个标签显示我的高分。 要做到这一点,我创建了我的NSUsweDefults属性,在我的viewdidload我试图加载currect highcore,和另一个函数(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,就像它不能保存我的高分。
我做错了什么? 谢谢!
你不会告诉我们发生了什么问题。 – trojanfoe 2012-07-06 15:42:56
我编辑我的问题 – user1492776 2012-07-06 15:46:15