假设我有一个项目,每个项目都附有购买日期。
存储该对的最佳方法是什么,以便我可以将其放入 NSUserdefaults 并稍后检索它?
谢谢
假设我有一个项目,每个项目都附有购买日期。
存储该对的最佳方法是什么,以便我可以将其放入 NSUserdefaults 并稍后检索它?
谢谢
(当持久化到 NSUserDefaults 时,您可以使用项目的 NSString 形式作为键,并将购买日期作为 NSDate 值。
但是 NSUserDefaults 更多的是用于配置而不是作为通用数据库。使用 Richard J. Ross III 提到的 Core Data 或 SQLite。您永远不会知道,您的数据模式可能会发生变化并变得更加复杂,在这种情况下,数据库(或至少是一个文件)是有序的。
如果Item
是一个相当简单的类,没有太多需要建模的关系,您可以NSCoding
在其上实现,将每个字典及其购买日期存储在字典中,将所有字典放入数组中,然后使用NSKeyedArchiver
将数组转换为NSData
和将其写入磁盘上的文件。你甚至可以跳过实现 NSCoding 并在字典中存储一个唯一的字符串或数字来标识项目而不是项目,假设你没有那么多项目需要数据库。
如果您的数据集的大小或对象的复杂性中等到高,我会同意 Richard J. Ross III 和 Jason Fuerstenberg 的观点,并推荐核心数据或 SQLite。