有没有简单的方法将XML数据存储到核心数据中?
目前,我的应用程序只是直接从XML文件中提取值,但是,这对于包含100多个条目的XML文件来说效率不高,因此将数据存储在Core Data中将是最佳选择。在应用程序打开时,会调用/下载/解析XML文件。
使用Core Data,XML数据将在3600秒左右下载,并刷新核心数据中的当前数据,以减少打开应用程序时的加载时间。
关于我如何做到这一点的任何想法?
审查了开发人员文档后,它看起来不太好吃。
答案 0 :(得分:1)
我认为你的意思是你必须下载一个xml文件,解析它然后保存文件中编码的数据?您有几种保存此类数据的选项。
如果数据相对简单且静态,例如一个重复的项目列表,那么您可能只想使用NSArray,NSSet或NSDictionary(或一些嵌套组合),然后使用集合类writeToFile:
方法将生成的集合作为plist写入磁盘。然后,当需要数据时,您只需使用initWithFile:
方法之一。这个系统的缺点是你必须将整个文件读回内存才能使用它。该系统不适用于非常大的数据集。
如果数据很复杂,例如一堆独立但高度相关的数据块,中等大小,然后Core Data会更好。
当然,如果需要,您始终可以选择将下载的文件作为字符串直接写入磁盘。