将提取的数据保存在磁盘上

时间:2011-03-22 15:13:16

标签: iphone objective-c database core-data nsuserdefaults

我正在创建一个iPhone应用程序,每次启动时都会从服务器获取信息。但是,我打算使用上个月/几个月/年的获取数据来计算一些平均值。

我一直在考虑使用字典将日期保存到NSUserDefaults(将日期与值相关联),但我记得还存在类似核心数据的内容。看到我对核心数据没有任何经验,我不知道它是否更好。如果它不会,我可以保存 时间我会用它来学习它。

数据以XML格式输入,每次我得到几组相同的响应(对于地图上的不同位置)。集合的数量可以更改,因为用户可以添加更多位置。我目前只在下次启动时加载失败时才将原始数据保存到磁盘上。但是,我还希望以一种我可以轻松访问它的方式保存该XML中的某些特定值。最好的方法是什么?

编辑:我实际上还需要了解核心数据的速度/效率。我目前正在使用NSDictionaries传递NSArrays以获取该会话期间的数据集。为了保存持续时间超过会话核心数据的数据是理想的,我发现了很多(只需要找到一个将实体与日期相关联的好方法),我只需要一些关于效率的建议。

2 个答案:

答案 0 :(得分:2)

如果您要处理大量数据,那么最好还是尝试使用Core Data,这毕竟不是那么复杂,并且有很多很好的教程可供您学习。存储类型有不同的设置,您可以使用sqlite数据库或xml文件。

根据Apple的人士的说法,与自制解决方案相比,使用Core Data应该快速且内存有效,因此这是一种首选方式。

答案 1 :(得分:1)

核心数据更容易操纵数据并使用谓词查询数据。核心数据支持日期,因此您甚至可以在日期范围内查找项目。

相关问题