繁体   English   中英

NSUserDefaults没有保存在模拟器中?

[英]NSUserDefaults not being saved in simulator?

我的[NSUserDefaults standardUserDefaults]未被保存。 我关闭应用程序并重新启动它的所有内容都会恢复原状。 我没有我的iOS设备,所以我不确定这是否会在设备上发生,但其他应用程序都没有在模拟器中这样做,这让我相信我的代码有问题。 我不知道我应该在这里包含哪些代码部分,它只是简单地在nsuserdefaults中添加/修改密钥,并且正如我所说它在应用程序中运行正常,但在我重新启动它之后却没有...

我知道我可以调用synchronize但Apple建议反对它,并说如果它是必须的话,我应该只调用它。所以。

怎么可能出错? 谢谢。

您的进程可能未正确终止,因此NSUserDefaults没有机会存储。 另见这个 ,主要是这个

我链接到的第二篇文章中的建议是在applicationDidEnterBackground:调用synchronize applicationDidEnterBackground:

还要记住,通过在Xcode中停止来终止您的应用程序通常不会保存用户默认值。

你是从Xcode /调试器重新启动? 尝试首先使用“主页”按钮将应用程序发送到后台。 我认为框架会自动同步。

我无法理解你正在访问NSUserDefault的方式,你在Apple文档中不存在与NSUserDefault一起使用的sharedDefaults的静态函数

使用如下方法访问NSUserDefault

[NSUserDefaults standardUserDefaults];

有关更多信息,请阅读使用NSUserDefault的博客文章。

iPhone编程教程 - 使用NSUserDefaults保存/检索数据

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM