Это нормально, если я использовал plist? IOS - PullRequest
0 голосов
/ 15 ноября 2011

Мне нужно сэкономить около 14 NSDictionaries на листе. Каждый словарь будет иметь 5 пунктов. 1- название места
2 - время начала
3- время окончания
4- Всего
5- Дополнительные примечания
Я читал, и люди советуют не использовать plist для большого количества данных. С описанием, приведенным выше, разумно ли использовать plist?
Ура, Sma

Ответы [ 4 ]

5 голосов
/ 15 ноября 2011

Это не большой объем данных.

2 голосов
/ 15 ноября 2011

Не уверен, какое количество словарей будет считаться «большим» в этом случае, но оно будет измеряться тысячами.Большое беспокойство вызвало бы количество оперативной памяти, которую объекты plist потребляют при чтении в память.14 словарей, содержащих небольшие объекты, которые вы описываете, совсем не займут много времени.

Большим преимуществом использования чего-то вроде CoreData будет возможность извлекать небольшие подмножества ваших данных без необходимости загрузки всех ваших элементови их содержание.Это экономит оперативную память, а также делает задачи произвольного доступа, такие как поиск, более приятными.(и CoreData также дает вам некоторые бесплатные возможности, такие как поддержка отмены).Но кажется, что даже до 1000 элементов, это было бы так же быстро, чтобы прочитать все в оперативной памяти и отсортировать его там.

1 голос
/ 15 ноября 2011

Даже одно предложение: вы можете иметь несколько словарей в одном файле plist внутри самого массива / словаря.

0 голосов
/ 16 ноября 2011

Вот пример:

<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>

Здесь я создал массив словарей.Итак, сначала я прочитаю весь массив, а затем извлечу значение для конкретных данных, которые необходимы (например: Object at Index-1).Так что вернет мне только один словарь.Затем можно освободить массив и использовать этот словарь по паре ключ-значение.

Вы можете добиться того же, создав словарь словарей, если ваша внутренняя структура словаря для всех разная.Для этого вам потребуется извлечь определенные данные, используя их ключевое имя.

Надеюсь, это будет полезно для вас.Не так ли?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...