当应用退出时删除NSUserDefault键值

时间:2014-07-24 18:09:50

标签: ios objective-c nsuserdefaults appdelegate

我已使用密钥NSString在我的NSUserDefault中保存了@"userKey" 我希望能够在应用完全关闭时将此值重置为@"",而不是在进入后台时将其重置为[[NSUserDefaults standardUserDefaults] setObject:@"" forKey:@"opponentFile"];

我试过了:

-applicationWillTerminate:

在我的appdelegate的{{1}}中,但没有任何反应。

完全关闭后打开应用程序时,默认值仍然存在。
我该怎么做?

2 个答案:

答案 0 :(得分:4)

每隔一段时间安排NSUserDefaults个永久性更改 您可以通过将以下内容添加到-applicationWillTerminate:

来强制执行此操作
[[NSUserDefaults standardUserDefaults] synchronize];

请勿过于频繁地强行使用,因为这会降低您的应用效果。


或者......你可以做到

[[NSUserDefaults standardUserDefaults] setObject:@"" forKey:@"opponentFile"];
而是-didFinishLaunchingWithOptions:中的

对我来说似乎是一样的东西。

答案 1 :(得分:0)

尝试改为:

- (void)applicationDidReceiveMemoryWarning:(UIApplication *)application;