objective-c – “resetStandardUserDefaults”实际上做了什么?

objective-c – “resetStandardUserDefaults”实际上做了什么?,第1张

概述尝试使用NSUserDefaults类的“resetStandardUserDefaults”将默认值重置为“工厂”设置.事实证明,这不是适当的使用方法.从SO中的一些存档讨论中可以看出,我们应该使用实例方法“removeObjectForKey”来删除用户的设置. 但我只是好奇,希望有人能解释“resetStandardUserDefaults”的实际用法.已阅读有关此内容的参考网络手册.但它非 尝试使用NSUserDefaults类的“resetStandardUserDefaults”将默认值重置为“工厂”设置.事实证明,这不是适当的使用方法.从SO中的一些存档讨论中可以看出,我们应该使用实例方法“removeObjectForKey”来删除用户的设置.

但我只是好奇,希望有人能解释“resetStandardUserDefaults”的实际用法.已阅读有关此内容的参考网络手册.但它非常简短,我似乎没有得到它的真正意义……

解决方法 在某处(通常在app delegate初始化中),您声明标准用户默认值(首次启动时应用程序的首选项).
 resetStandardUserDefaults使您的应用程序意味着它是第一次启动并使用用户默认值,就像您在应用程序委托中声明它们一样.

以上是错误的答案

正如Apple’s documentation所说,它:

同步对共享用户默认值对象所做的任何更改,并将其从内存中释放

重置部分指的是内存中的standardUserDefaults对象被销毁的事实,因此下次使用[NSUserDefaults standardUserDefaults]时,您将从文件系统中获取一个新文件,但它与任何首次启动行为无关.

如果它被重命名为flushDefaultsTodisk或类似的话,该调用将有意义.这是迄今为止我见过的iOS SDK中最容易被误解的部分.

(我在原地纠正了这个问题,因为这对搜索率的评价非常高,并且不想在有人可能无法阅读的评论中进行更正.)

总结

以上是内存溢出为你收集整理的objective-c – “resetStandardUserDefaults”实际上做了什么?全部内容,希望文章能够帮你解决objective-c – “resetStandardUserDefaults”实际上做了什么?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1071700.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-26
下一篇 2022-05-26

发表评论

登录后才能评论

评论列表(0条)

保存