有哪些东西不应该保存在NSUserDefaults中?

4
我刚开始使用RubyMotion,据我所知,它建议使用NSUserDefaults作为数据存储。但是,这似乎有些奇怪,因为名称表明它仅用于存储配置变量等,而不是对象。
我是否可以将我的对象(例如用户、公司、任务等)存储在NSUserDefaults中,或者应该采用其他方法?
4个回答

6

3

NSUserDefaults 应该用于保存应用程序的用户偏好设置,而不是一般的数据存储。苹果公司的 NSUserDefaults 类参考资料 中提到:

默认系统允许应用程序根据用户的喜好自定义其行为。例如,您可以允许用户确定应用程序显示的测量单位或文档自动保存的频率。

因此,如果您的应用程序管理用户、公司和任务,则不要使用 NSUserDefaults


1

NSUserDefaults类提供了访问常见类型的便捷方法,例如floatsdoublesintegersBooleansURLs

默认对象必须是属性列表,即(对于集合而言)NSDataNSStringNSNumberNSDateNSArrayNSDictionary的实例组合。

如果您想存储任何其他类型的对象,通常应将其存档以创建NSData的实例。

更多详细信息,请参见NSUserDefaults Class Reference


0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接