我需要将大约 14NSDictionaries
个保存到 plist 中。每个字典将有 5 个项目。1- 地点名称
2- 开始时间
3- 结束时间
4- 总计
5- 我一直在阅读的其他注释
,人们建议不要将 plist 用于大量数据。根据上面给出的描述,使用 plist 是否明智?
干杯,斯玛
问问题
276 次
4 回答
5
这不是大量的数据。
于 2011-11-15T02:02:04.383 回答
2
不确定在这种情况下有多少字典被认为是“大”的,但它会以数千为单位来衡量。最大的问题是 plist 的对象在读入内存时消耗的 RAM 量。包含像您描述的小对象的 14 个字典根本不会占用太多空间。
使用 CoreData 之类的最大好处是能够获取数据的小子集,而无需加载所有项目及其内容。这节省了 RAM,也使搜索等随机访问任务更加愉快。(CoreData 还为您提供了一些不错的免费赠品,例如撤消支持)。但它似乎甚至多达 1000 个项目,将所有内容读入 RAM 并在那里整理出来也一样快。
于 2011-11-15T02:14:04.370 回答
1
甚至一个建议您可以在数组/字典本身的单个 plist 文件中拥有多个字典。
于 2011-11-15T09:56:09.543 回答
0
这是示例:
<array>
<dict>
<key>Name</key>
<string>NAME1</string>
<key>Address</key>
<string>ADD1</string>
</dict>
<dict>
<key>Name</key>
<string>NAME2</string>
<key>Address</key>
<string>ADD2</string>
</dict>
</array>
在这里,我创建了字典数组。因此,首先我将读取整个数组,然后获取所需特定数据的值(例如:Index-1 处的对象)。所以它只会返回我一本字典。然后可以释放数组并按键值对使用该字典。
如果您的内部字典结构对所有人都不同,您可以通过创建字典字典来实现相同的目的。为此,您将需要使用其键名来获取特定数据。
希望这对您有所帮助。不是吗?
于 2011-11-16T03:55:46.450 回答