我試圖用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