【问题标题】:Should I use core data to store some user preferences or save it in NSUserDefaults?我应该使用核心数据来存储一些用户偏好还是将其保存在 NSUserDefaults 中?
【发布时间】:2012-01-31 19:02:55
【问题描述】:

目前,我正在开发一个功能严重依赖于检索到的 JSON 数据的应用程序。我计划将大部分数据保存到核心数据中。但是,不确定我是否必须将所有与用户相关的内容(设置、收藏夹、推特、Facebook 等)也保存在核心数据中,还是应该使用 NSUserDefaults?优缺点是什么?

【问题讨论】:

标签: iphone objective-c core-data nsuserdefaults


【解决方案1】:

你可以参考苹果自己的指南:Implementing Application Preferences

您可以根据需要以任何方式存储用户设置:NSUserDefaults 和 Core Data 之间的选择只是在 API 之间,前者实际上是为处理用户偏好而设计的。

NSUserDefaults 和“内置设置组件”实际上是一回事。使用设置应用程序仍会将首选项存储在您使用该 API 在您的应用程序中访问的 NSUserDefaults 中。

您可能不想使用内置设置应用程序的原因是:用户更改这些设置很麻烦。如果您有用户可能希望经常更改的设置,您可能希望在您的应用程序中执行此操作(例如打开/关闭音乐、更改播放器名称)。此外,由于您可以完全控制自己的应用,因此您可以拥有比 Apple 在 Settings.app 中提供的更灵活的 GUI

至于使用 Core Data 或 NSUserDefaults...我会说使用 NSUserDefaults,因为它更容易实现并且旨在做到这一点,而实现核心数据需要付出很多努力。

【讨论】:

猜你喜欢
  • 2011-10-26
  • 2021-06-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-02-14
  • 2017-01-06
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多