如果我用plist可以吗? iOS版

时间:2011-11-15 02:00:03

标签: ios plist data-management

我需要将大约14 NSDictionaries保存到plist。每个词典将有5个项目。 1-地点名称
2-开始时间
3-完成时间
4-总计
5-附加说明
我一直在阅读,人们建议不要使用plist来获取大量数据。根据上面给出的描述,使用plist是明智的吗? 干杯, SMA

4 个答案:

答案 0 :(得分:5)

这不是大量的数据。

答案 1 :(得分:2)

在这种情况下,不确定哪些字典会被视为“大”字词,但它会以数千个字来衡量。最大的担忧是plist的对象在读入内存时消耗的RAM量。包含你描述的小物件的14个词典根本不会占用太多。

使用像CoreData这样的东西的最大好处是能够获取数据的小子集,而无需加载所有项目及其内容。这节省了RAM,并使搜索等随机访问任务更加愉快。 (而CoreData也为你提供了一些不错的免费赠品,比如撤销支持)。但它似乎甚至多达1000个项目,它可以快速将所有内容读入RAM并在那里进行排序。

答案 2 :(得分:1)

即使有一个建议,你也可以在数组/字典本身的单个plist文件中有多个字典。

答案 3 :(得分: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处的Object)。所以它只会给我一个字典。然后可以释放数组并按键值对使用该字典。

如果您的内部字典结构对所有人都不同,您可以通过创建字典字典来实现相同目的。为此,您需要使用其键名来获取特定数据。

希望这会对你有所帮助。不是吗?