对于Objective-C,实现值对数组的最有效方法是什么?

时间:2012-08-31 02:03:16

标签: objective-c ios nsuserdefaults

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

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

由于

2 个答案:

答案 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。

相关问题