曾尝试使用 NSUserDefaults 类的“+resetStandardUserDefaults”将默认值重置为其“出厂”设置。事实证明,这不是合适的使用方法。从 SO 中的一些存档讨论中找出我们应该使用实例方法“removeObjectForKey”来删除用户的设置。
但我只是好奇,希望有人能解释“+resetStandardUserDefaults”的实际用法。已阅读有关此的引用网络手册。但它非常简短,我似乎不明白它的真正含义......
最佳答案
在某处(通常在应用程序委托(delegate) +initialize 中),您声明标准用户默认值(首次启动时应用程序的首选项)。
+resetStandardUserDefaults 使您的应用程序意味着它是第一次启动,并以您在应用程序委托(delegate)中声明它们的方式使用用户默认值。
以上是错误的答案
正如 Apple's documentation 所说,它:
同步对共享用户默认对象所做的任何更改并将其从内存中释放
重置部分指的是内存 中的 standardUserDefaults 对象 已被破坏,因此您下次使用 [NSUserDefaults standardUserDefaults]
时可以从文件系统中获得一个新对象,但这与任何首次启动行为无关。
如果将其重命名为 flushDefaultsToDisk 或类似名称,则该调用将有意义。这是迄今为止我见过的 iOS SDK 中最容易引起误解的部分。
(我就地更正了这一点,因为这在搜索中的比率非常高,并且不想将更正放在某人可能不会阅读的评论中。)
关于objective-c - "+resetStandardUserDefaults"实际上是做什么的?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5459552/