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