Практическое правило, когда хранить объекты в Db для iPhone - PullRequest
1 голос
/ 04 июня 2011

Есть ли хорошее эмпирическое правило, когда вам следует отказаться от хранения объектов в памяти, чтобы хранить их в базе данных, такой как Core Data / Sqlite на iPhone / iPad?

Я слышал (я думаю, что это было на Ранчо Большого Ботаника, книга), что 10.000 простых объектов вообще не проблема для сохранения и сохранения из каталога документов на iPhone 3GS. Но я думаю, что когда у вас есть более сложные отношения между объектами, проще хранить их, например, в Core Data.

Каков ваш опыт, базы данных или нет базы данных?

Ответы [ 2 ]

1 голос
/ 04 июня 2011

См. предыдущий ответ на аналогичный вопрос.

Краткое резюме:

  1. Когда набор данных относительно мал и имеет низкую сложность, вы можете использовать коллекции (NSArray, NSDictionary, NSSet), записанные на диск как plist.
  2. Когда наборы данных очень большие, но с низкой сложностью, например файл библиотечной карточки, где все карточки абсолютно одинаковы и не связаны друг с другом, тогда сырой SQL может быть хорошим решением.
  3. Когда сложность высокая, т. Е. Много разных типов объектов, связанных друг с другом, используйте Базовые данные независимо от размера данных.

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

Если вы намерены практиковаться в написании приложений Apple API, было бы неплохо потратить ваше время на изучение основной информации в течение недели или двух. Это не просто API персистентности, это API для создания и использования всего уровня модели дизайна Model-View-Controller, который использует Apple API,

(Кстати, я советую Big-Nerd Ranch по поводу сохранения на основе plist в MacOS. Ограничения памяти и процессора на устройствах iOS намного более жесткие. Кроме того, устройства iOS используют флэш-накопители, поэтому штраф за работу с диском очень намного ниже, чем для таких устройств, как настольные компьютеры, использующие механические жесткие диски.)

1 голос
/ 04 июня 2011

Начните с самого простого метода хранения, списков или простых файлов, вероятно.Когда (если) вы действительно заметите проблемы с производительностью или целостностью данных, переключитесь на более мощное решение.

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