我收集了一个usertype新闻当前存储在一个NSArray中。我必须将它们存储在UserDefaults中以将它们保存在设备上。新闻有一个独特的属性ID。在将它们存储到UserDefaults之前,我将NSArray转换为NSDictionary,其中的键是ID,此键的对象是News。这是存储它们的好方法吗?用于存储在UserDefaults中的NSArray或NSDictionary?
选择NSDictionary的原因是能够检查每次从Web服务重新下载新闻时,新闻列表中是否存在具有特定ID的新闻。这样我每个新闻ID只有一个新闻实例。我认为这将很难管理使用正常的NSArray - 或者我失去了一些东西?
我是否阅读了Apple关于数据存储的指导原则,似乎这些文件应该保存在'/ Library/Caches'而不是'/ Documents'中:http://developer.apple.com/icloud/documentation/数据存储/。这是对的吗? – dhrm
如果您阅读了自己的链接,则表示如果可以重新创建数据,则表示缓存;如果无法重新创建数据,则表示文档。因为缓存数据可以被删除,所以如果它是关键的用户数据,用户将不会感到满意... – jbat100
就我而言,它是从我的WebService下载的新闻对象 - 就像我的数据库的映射。这些数据可以重新下载,所以我认为我的数据应该在'Caches'中。 – dhrm