iPhone应用程序用户设置 - 推荐的方法是什么?

时间:2011-01-14 10:21:09

标签: iphone user-preferences

我爱上了过去几个月的核心数据,并用它来保存我的应用程序中的数据,包括用户设置。它的效果很好,但我担心未来的更新会有问题。

我知道在我的应用中存储偏好的3种方法 - 核心数据 2. NSUserDefaults。 3.使用内置设置组件。

喜欢了解这种方法的利弊。

感谢 SHANI

1 个答案:

答案 0 :(得分:4)

  

编辑备注:我之前的链接 Implementing Application Preferences 已损坏。本回复的其余部分仍应适用。但是,您现在也可以store data in iCloud的方式与NSUserDefaults类似(但与之分开)。

您可以参考Apple自己的指南:About Preferences and Settings

首先,您可以根据需要存储设置:它只是用户数据。 NSUserDefaults和Core Data之间的选择就在API之间,前者专门用于处理用户首选项。但是你可以(技术上)使用INI文件,如果你绝对想要(但不要!)。所以有三种以上的方法可以做到。

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

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

但这确实是GUI的问题,而不是如何存储设置。

至于使用Core Data或NSUserDefaults ......好吧,正如我所说,一个是专为用户偏好设计的,另一个是基于行的用户数据。 NSUserDefaults允许您使用默认设置,可以轻松添加新设置并支持内置设置系统。它也很简单:它只是加载一个属性列表。另一方面,核心数据需要整个持久存储和托管对象上下文堆栈。

总结:使用NSUserDefaults进行设置,并根据必须更改设置的频率和您的特定需求,在内置设置应用和拥有自己的控制面板之间进行选择。