Objective-C лучший выбор для сохранения данных - PullRequest
1 голос
/ 19 августа 2011

В настоящее время я ищу лучший способ сохранить данные в моем приложении для iPhone; данные, которые будут сохраняться между открытием и закрытием приложения. Я посмотрел на архивирование с помощью NSKeyedArchiver, и мне удалось заставить его работать. Однако я заметил, что если я пытаюсь сохранить несколько объектов, они будут перезаписываться при каждом сохранении. (По сути, пользователь сможет создать список вещей, которые он / она хочет, сохранить список, создать еще несколько списков, сохранить их все, а затем сможет вернуться и выбрать любой из этих списков для загрузки в будущем дата.)

Я слышал о SQLite, Core Data или использовании .plists для хранения нескольких массивов данных, которые будут сохраняться с течением времени. Может ли кто-нибудь указать мне наилучшее направление для сохранения моих данных? Спасибо!

Ответы [ 5 ]

2 голосов
/ 19 августа 2011

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

1 голос
/ 14 мая 2012

Также вы можете попробовать этот framework . Это очень просто и удобно в использовании. Он основан на шаблоне ActiveRecord и позволяет использовать миграции, отношения, проверки и многое другое.

Используется только sqlite3, без CoreData, но вам не нужно использовать raw sql или создавать таблицы вручную.

Просто опишите свой iActiveRecord и наслаждайтесь.

1 голос
/ 19 августа 2011

Я бы пошел с NSKeyedArchiver. Похоже, проблема в том, что вы не организовали свой график должным образом.

У вас есть список списков, но вы сохраняете только вложенный список.

Вы должны добавить список в «супер» список, а затем архивировать супер-список.

CoreData / SQL немного отличается от того, что вы описали.

1 голос
/ 19 августа 2011

В качестве простой и мощной альтернативы CoreData, посмотрите ActiveRecord для Objective-C. https://github.com/aptiva/activerecord

0 голосов
/ 19 августа 2011

Вы хотите ознакомиться с этим руководством Рэя Вендерлиха по началу работы с CoreData.Он короткий и охватывает основы CoreData.

По сути, вы хотите просматривать списки только в том случае, если у вас есть небольшой объем данных для хранения.Простой список настроек или предпочтений.Что-нибудь большее, чем это, и это ломается конкретно по производительности.На iTunesU есть отличное видео, где разработчики из LinkedIn описывают свои метрики производительности между списками и CoreData.

Архивация работает, но для ее хранения и восстановления потребуется много работы.данные, а также поставить проблему производительности на спине.Так что я бы не пошел туда.Я бы использовал CoreData.С ним чрезвычайно легко начать работу, и если вы понимаете объекты в этом вопросе переполнения стека , то вы знаете все, что нужно для начала работы.

...