0

我需要将大约 14NSDictionaries个保存到 plist 中。每个字典将有 5 个项目。1- 地点名称
2- 开始时间
3- 结束时间
4- 总计
5- 我一直在阅读的其他注释
,人们建议不要将 plist 用于大量数据。根据上面给出的描述,使用 plist 是否明智?
干杯,斯玛

4

4 回答 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 回答