Zet*_*aPR 5 nsuserdefaults ios
我一直在寻找,如果我这样做,我是否需要做同步:
[[NSUserDefaults standardUserDefaults] removeObjectForKey:kType];
Run Code Online (Sandbox Code Playgroud)
那之后,我该怎么办?:
[[NSUserDefaults standardUserDefaults] synchronize];
Run Code Online (Sandbox Code Playgroud)
在这件事上等你的答案.
在stackoverflow中引用这篇文章,来自DarkDust的答案:
目的
[default synchronize];是使用户默认值立即写入磁盘.你不需要明确地调用它,iOS已经在适当的时候完成它.所以你可以删除该行.实际上,如果synchronize每次设置默认值时调用都会出现性能问题 .在iOS 7之前,用户默认在应用程序转换为后台时始终同步的位置.从iOS 7开始不再是这种情况,因此您可能需要
synchronize在应用程序委托中调用applicationDidEnterBackground:或注册UIApplicationDidEnterBackgroundNotification通知以执行此操作.从以下文档
-[NSUserDefaults synchronize]:因为此方法是定期自动调用的,所以只有在您无法等待自动同步时(例如,如果您的应用程序即将退出)或者您希望将用户默认值更新为磁盘上的内容,请使用此方法你没有做任何改变.
| 归档时间: |
|
| 查看次数: |
1957 次 |
| 最近记录: |