私は自分のAppDelegateの中に以下のコードを書いていますが、私が再びアプリケーションを起動すると、値がまだ(NULLではなく)保存されていることがわかります。何故ですか?NSUserDefaultsは-applicationWillTerminateで書かれています。どうして?
コード:
- (void)applicationWillTerminate:(UIApplication *)application
{ [[NSUserDefaults standardUserDefaults]
setObject:NULL forKey:@"roomCat"];
[[NSUserDefaults standardUserDefaults]
setObject:NULL forKey:@"TFA"];
[[NSUserDefaults standardUserDefaults]
setObject:NULL forKey:@"comments"];
}
ありがとうございました。
私は今iPhoneを充電していますが、シミュレータでコードを試しましたが、コードが実際のデバイスで動作することを期待して変更することはありません。 –
@ Bobj-C:私の編集した答えを見てください。それはおそらく全く呼び出されていないでしょう。ちなみに、なぜあなたのアプリが終了したときにユーザーのデフォルトを削除していますか? 'NSUserDefaults'の全体的なポイントは、アプリケーションの起動間で設定を維持することです。 –
@KevinBallard優秀な答えは、これは間違いなく動作するはずです。私はまた、なぜあなたが離れる前にそれらを拭きたいと思うのか理解していません。それは意味をなさない。 :\ – Telinir