【发布时间】:2012-01-31 19:02:55
【问题描述】:
目前,我正在开发一个功能严重依赖于检索到的 JSON 数据的应用程序。我计划将大部分数据保存到核心数据中。但是,不确定我是否必须将所有与用户相关的内容(设置、收藏夹、推特、Facebook 等)也保存在核心数据中,还是应该使用 NSUserDefaults?优缺点是什么?
【问题讨论】:
标签: iphone objective-c core-data nsuserdefaults
目前,我正在开发一个功能严重依赖于检索到的 JSON 数据的应用程序。我计划将大部分数据保存到核心数据中。但是,不确定我是否必须将所有与用户相关的内容(设置、收藏夹、推特、Facebook 等)也保存在核心数据中,还是应该使用 NSUserDefaults?优缺点是什么?
【问题讨论】:
标签: iphone objective-c core-data nsuserdefaults
你可以参考苹果自己的指南:Implementing Application Preferences
您可以根据需要以任何方式存储用户设置:NSUserDefaults 和 Core Data 之间的选择只是在 API 之间,前者实际上是为处理用户偏好而设计的。
NSUserDefaults 和“内置设置组件”实际上是一回事。使用设置应用程序仍会将首选项存储在您使用该 API 在您的应用程序中访问的 NSUserDefaults 中。
您可能不想使用内置设置应用程序的原因是:用户更改这些设置很麻烦。如果您有用户可能希望经常更改的设置,您可能希望在您的应用程序中执行此操作(例如打开/关闭音乐、更改播放器名称)。此外,由于您可以完全控制自己的应用,因此您可以拥有比 Apple 在 Settings.app 中提供的更灵活的 GUI
至于使用 Core Data 或 NSUserDefaults...我会说使用 NSUserDefaults,因为它更容易实现并且旨在做到这一点,而实现核心数据需要付出很多努力。
【讨论】: