設定で NSUserDefaults を使用しています。ホームキーを押してアプリをバックグラウンドにしてもアプリは正常に動作しますが、アプリを強制終了すると NSUserDefaults に保存されているデータが失われます。これが私のコードです。私は同期を使用しています。最初の初期化:
if (![userDefaults integerForKey:
kORFootageAirPlayModeKey])
{
[userDefaults setInteger:TRUE forKey:kORFootageAirPlayModeKey];
}
[userDefaults synchronize];
viewController で値を読み取ります。
airPlayMode = [[NSUserDefaults standardUserDefaults]integerForKey:kORFootageAirPlayModeKey];
アクションで設定します。
- (IBAction)changeAirPlayStatus:(id)sender
{
if (sender)
{
airPlayMode = [sender tag];
[[NSUserDefaults standardUserDefaults] setInteger:airPlayMode forKey:kORFootageAirPlayModeKey];
[[NSUserDefaults standardUserDefaults] synchronize];
}
.....
}