Как лучше хранить мои данные - PullRequest
0 голосов
/ 19 декабря 2010

У меня есть массив с почти 1000 экземплярами класса, каждый из которых имеет около 5 коротких строк (<100 символов), связанных с ним. В моем приложении я часто выбираю объект из массива случайным образом и редко, но иногда перечисляю все объекты в массиве. </p>

Я склонен использовать .plist для хранения данных, чтобы они все читались с самого начала, но действительно ли это лучше, чем использование SQLite в этом случае?

Прямо сейчас массив статичен, хотя я могу захотеть добавить возможность добавлять объекты в будущем. Это может случиться только изредка.

Ответы [ 4 ]

0 голосов
/ 19 декабря 2010

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

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

0 голосов
/ 19 декабря 2010

Вы можете выбрать несколько маршрутов.Проще всего было бы просто записать массив в каталог документов пользователя.Посмотрите на NSArray, в частности - (BOOL)writeToFile:(NSString *)path atomically:(BOOL)flag.Вы можете найти много полезного в Руководстве по программированию архивов и сериализаций Apple: http://developer.apple.com/library/ios/#documentation/Cocoa/Conceptual/Archiving/Archiving.html%23//apple_ref/doc/uid/10000047i

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

0 голосов
/ 19 декабря 2010

Я бы порекомендовал вам также изучить форматирование JSON. http://code.google.com/p/json-framework/

0 голосов
/ 19 декабря 2010

Как насчет использования XMLSerialisation?

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