kev*_*ung 6 nsuserdefaults ios
我在我的设置中使用NSUserDefaults.应用程序运行良好,即使我按下主页键让应用程序进入后台,但如果我杀了应用程序,NSUserDefaults中的数据保存将丢失.这是我的代码.我使用同步.第一次初始化:
if (![userDefaults integerForKey:
kORFootageAirPlayModeKey])
{
[userDefaults setInteger:TRUE forKey:kORFootageAirPlayModeKey];
}
[userDefaults synchronize];
Run Code Online (Sandbox Code Playgroud)
在viewController中读取值:
airPlayMode = [[NSUserDefaults standardUserDefaults]integerForKey:kORFootageAirPlayModeKey];
Run Code Online (Sandbox Code Playgroud)
将其设置为动作:
- (IBAction)changeAirPlayStatus:(id)sender
{
if (sender)
{
airPlayMode = [sender tag];
[[NSUserDefaults standardUserDefaults] setInteger:airPlayMode forKey:kORFootageAirPlayModeKey];
[[NSUserDefaults standardUserDefaults] synchronize];
}
.....
Run Code Online (Sandbox Code Playgroud)
}
我看不出有什么理由。
您是否检查过 Simulator 目录,在 Library/Caches 下有保存 NSUserDefaults 的 plist。检查是否写正确。
请不要使用 setInteger:TRUE。这在很多层面上都是错误的。请改用 setBOOL:YES。或者设置Integer:1。