大佬教程收集整理的这篇文章主要介绍了objective-c – 用-applicationWillTerminate编写的NSUserDefaults:不生效;为什么?,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
代码:
- (void)applicationWillTerminate:(UIApplication *)application { [[NSUserDefaults standardUserDefaults] setObject:NULL forKey:@"roomCat"]; [[NSUserDefaults standardUserDefaults] setObject:NULL forKey:@"TFA"]; [[NSUserDefaults standardUserDefaults] setObject:NULL forKey:@"comments"]; }
谢谢.
在任何情况下,如果使用-removeObjectForKey:不起作用,那么您可以添加一个调用
[[NSUserDefaults standardUserDefaults] synchronize];
在末尾.但只有在没有它的情况下才能发挥作用.原因是因为调用-synchronize(相对)昂贵,所以只有在需要确保正确性时才应该这样做.
再看看之后,我怀疑你真正的问题是这个方法根本没有被调用.在iOS 4及更高版本中,当应用程序进入后台时,它们不会调用此方法,而是调用-applicationDidEnterBACkground:.您应该尝试将此代码放在那里.
以上是大佬教程为你收集整理的objective-c – 用-applicationWillTerminate编写的NSUserDefaults:不生效;为什么?全部内容,希望文章能够帮你解决objective-c – 用-applicationWillTerminate编写的NSUserDefaults:不生效;为什么?所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。