我应该如何在我的iPhone应用程序中存储和使用我的500kB数据文件?

Voj*_*jto 2 iphone cocoa objective-c

所以我有0.5MB的XML文件,包含我的iPhone应用程序的数据.这一切都是只读的,所以我不必费心写作.

目前我正在使用NSXMLParser来加载数据.

我很喜欢NSXMLParser,我创建了一个只加载我当前需要的数据部分的类.因此,一旦解析了文件,它就会占用最少的内存.

但它很慢.解析XML文件需要500-1000毫秒,并在iPad上找到我需要的数据部分.

我可以一次加载所有数据,而不仅仅是使用它.这肯定会使我免于所有的XML加载和解析,但后来我会有500kB NSArray或其他东西.我并不特别喜欢这个主意.

我想知道是否有任何方法可以做到这一点,不会占用太多内存,也会很快.

有什么想法吗?

更新:

谢谢大家的回答.所以看起来这两个选项对于这种情况是最好的:

  1. 将XML数据存档为二进制形式.它将被非常快速地处理,并且500kB实际上并没有留在内存中.
  2. 如果我真的想让它超级内存效率,那就是SQLite或Core Data.

我想我会尝试实现第一.

Mat*_*ick 5

听起来像是使用数据库的完美案例,无论是直接使用SQLite还是通过Core Data.这正是数据库所做的事情,可以快速轻松地访问更大数据集的各个部分.

是否有令人信服的理由将数据保存在一个巨大的XML文件中?