1

假设我有一个项目,每个项目都附有购买日期。

存储该对的最佳方法是什么,以便我可以将其放入 NSUserdefaults 并稍后检索它?

谢谢

4

2 回答 2

4

(当持久化到 NSUserDefaults 时,您可以使用项目的 NSString 形式作为键,并将购买日期作为 NSDate 值。

但是 NSUserDefaults 更多的是用于配置而不是作为通用数据库。使用 Richard J. Ross III 提到的 Core Data 或 SQLite。您永远不会知道,您的数据模式可能会发生变化并变得更加复杂,在这种情况下,数据库(或至少是一个文件)是有序的。

于 2012-08-31T02:11:08.200 回答
1

如果Item是一个相当简单的类,没有太多需要建模的关系,您可以NSCoding在其上实现,将每个字典及其购买日期存储在字典中,将所有字典放入数组中,然后使用NSKeyedArchiver将数组转换为NSData和将其写入磁盘上的文件。你甚至可以跳过实现 NSCoding 并在字典中存储一个唯一的字符串或数字来标识项目而不是项目,假设你没有那么多项目需要数据库。

如果您的数据集的大小或对象的复杂性中等到高,我会同意 Richard J. Ross III 和 Jason Fuerstenberg 的观点,并推荐核心数据或 SQLite。

于 2012-08-31T02:34:20.927 回答