objective-c – 保存并加载高分
发布时间:2020-12-15 01:43:32 所属栏目:百科 来源:网络整理
导读:我试图使用NSUserDefults为我的游戏保存和加载高分(nsinteger). 我创建了一个void函数,用于检查gameoverscore是否大于我的高分,以及它是否可以在它们之间切换.我希望每次比赛结束时都会有一个标签显示我当前的高分. 为此,我为我的NSUsweDefults创建了一个属
我试图使用NSUserDefults为我的游戏保存和加载高分(nsinteger).
我创建了一个void函数,用于检查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]; } 当我进入这个viewcontroller时,我的highscorelabel显示0,就像它没有保存我的高分. 我做错了什么? 解决方法// Snippet used to save your highscore in the prefs. int highScore = yourGameScore; [[NSUserDefaults standardUserDefaults] setObject:[NSNumber numberWithInt:highScore] forKey:@"HighScore"]; [[NSUserDefaults standardUserDefaults] synchronize]; // Snippet used to get your highscore from the prefs. highScore = [[[NSUserDefaults standardUserDefaults] objectForKey:@"HighScore"] intValue ]; (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |