NSUserDefaults的最佳实践同步

时间:2011-04-08 21:16:19

标签: iphone xcode nsuserdefaults

每次我向plist写任何东西时,我都在使用[[NSUserDefaults standardUserDefaults] synchronize]。那有点矫枉过正吗?或者这样做有不良影响吗?

2 个答案:

答案 0 :(得分:52)

是的,它可能有点矫枉过正,但在一个简单的应用程序中你会注意到性能损失吗?如果您只是在基本用户交互之后保存,例如用户选择其设置,则可能不会。更频繁地调用同步的好处是,如果您的应用程序可能崩溃并且您保存的信息很重要,否则iOS会定期为您保存。

答案 1 :(得分:6)

  

synchronize方法会定期自动调用,使内存缓存与用户的默认数据库保持同步。

经常调用它可能会导致性能问题,但如果它是一个小应用程序(如已经提到的那样)或者如果你真的需要你的plist更新当前线程中的更改或者在应用程序中的其他一些线程。

  

因为此方法是定期自动调用的,所以只有在您不能等待自动同步时(例如,如果您的应用程序即将退出)或者您希望将用户默认值更新为打开时,才使用此方法即使您没有进行任何更改,也可以使用磁盘

您可能注意到的唯一不利影响可能是性能下降可以忽略不计。