1
我想在程序中保存一些偏好我似乎無法使NSUserDefaults正常工作。如果有人可以看看我的代碼,看看是否有我們將不勝感激有一個NSUserDefault問題
NSString *kGameIsPaused = @"gameGameIsPaused";
NSString *kSoundOn = @"gameSoundOn";
NSString *kMusicOn = @"gameMusicOn";
NSString *kHighScore = @"gameHighScore";
- (void)saveGameState
{
[[NSUserDefaults standardUserDefaults] setBool:gameIsPaused forKey:kGameIsPaused];
[[NSUserDefaults standardUserDefaults] setBool:soundOn forKey:kSoundOn];
[[NSUserDefaults standardUserDefaults] setBool:musicOn forKey:kMusicOn];
[[NSUserDefaults standardUserDefaults] setInteger:highScore forKey:kHighScore];
}
-(void)loadGameState
{
gameIsPaused = [[NSUserDefaults standardUserDefaults] boolForKey:kGameIsPaused];
soundOn = [[NSUserDefaults standardUserDefaults] boolForKey:kSoundOn];
musicOn = [[NSUserDefaults standardUserDefaults] boolForKey:kMusicOn];
highScore= [[NSUserDefaults standardUserDefaults] integerForKey:kHighScore];
if (soundOn == NO) {
[soundToggle setImage:[UIImage imageNamed:@"SoundOFF.png"] forState:UIControlStateNormal];
}
if (musicOn == NO) {
[musicToggle setImage:[UIImage imageNamed:@"MusicOff.png"] forState:UIControlStateNormal];
}
}
他們每次我運行loadGameState方法,如果沒有關鍵參考我得到返回的默認值的任何錯誤。