我想要添加到我的应用程序中的一些数据...大约650个类别(包括名称+ ID号),每个类别平均有85个项目(每个都有一个名称/ ID号)。
iPhone会支持这么大的plist吗?我想首先在UITableView中显示类别,当选择类别时我想显示所有相关项目。有这么大的plist,我不确定iPhone在加载物品时是否会滞后。超过51,000行似乎......它可能。
编辑:原始文本文件为2MB
答案 0 :(得分:4)
plist可以是任意长度的。但是带有2 MB文本数据的plist是一个非常糟糕的主意。即使在桌面上,Apple也只推荐最大尺寸为几百KB的plist:
原因是必须先将plist反序列化到内存中,然后才能从plist访问单个元素。这对于小型钳子来说很方便,但对于大型钳子来说,空间和时间效率极低。
您应该将数据加载到数据库中。如果你做得恰当,数据库只会引入你需要的数据集部分,而不是整个数据集。
答案 1 :(得分:1)
我怀疑加载你的plist可能需要一段时间,特别是如果你使用的是基于XML的plist。二进制plist可能更快。您可能需要考虑使用CoreData或原始sqlite数据库来存储数据。
唯一可以确定的方法是尝试并查看。没有什么比实际的表演时间更好。
答案 2 :(得分:0)
这似乎更适合用数据库预加载。一件事情应该稍微小一些......
技术是,编写代码来读取plist并将其放在SQLlite或CoreData中。然后将数据库从模拟器目录中取出,并将其添加到您的应用程序中 - 在应用程序启动时从项目中的文件中读取数据库。
如果您需要修改数据,请预先加载,但首先将数据库复制到可写目录中(或者基本上任何时候都不存在)。
答案 3 :(得分:0)
我认为你应该使用Sqlite。 这里有一个很棒的教程:
http://www.techotopia.com/index.php/An_Example_SQLite_based_iOS_5_iPhone_Application