Как мне хранить кучу данных локально для отображения в UITableView?

Мне нужно отобразить много текста, предпочтительно предварительно отформатированного или отформатированного с помощью методов NSString. Каждая строка будет иметь подробный экран. На подробном экране другой UITableView будет иметь разделы, скажем, «Определение», «Примеры» и т. Д., Каждый из которых содержит только одну строку. В этих строках я буду отображать текст, который занимает несколько строк. Должен ли я хранить весь текст в базе данных SQLite как столбец для каждого раздела? Существуют ли другие способы локального хранения данных?


person Community    schedule 29.08.2011    source источник
comment
возможный дубликат локального хранения данных на iPhone   -  person luvieere    schedule 29.08.2011


Ответы (2)


У вас есть несколько разных способов хранить данные приложений на вашем iPhone:

Использование простых файлов

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

Использование файлов Plist

Файлы списка свойств уже имеют структуру ключ-значение, которую вы можете использовать в своих интересах, если ваши данные хорошо подходят для этого формата. Собственные типы данных, такие как NSDictionary и NSarray, можно легко сериализовать и десериализовать в этот формат и из него.

Хранение данных "ключ-значение" в NSUserDefaults

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

Хранение информации в базе данных SQL

Полезно, когда ваши данные строго структурированы и реляционны, и вы хотите избежать развертывания собственной структуры хранения данных на основе файлов из соображений времени и производительности. Язык SQL — это мощный инструмент для извлечения и сохранения реляционной информации, и вы можете управлять сложностью своей реализации, прибегая к оболочкам для SQLite, таким как FMDB.

Использование основных данных

Если вы планируете сохранять и управлять сложным динамическим графом объектов, не беспокоясь о том, как сериализовать и десериализовать его из хранилища самостоятельно, Core Data — ваш лучший выбор. Это может помочь вам во многих отношениях, от отслеживания изменений и поддержки отмены до обслуживания реляционной структуры и миграции.


Здесь подробная статья Oreilly, объясняющая подробнее об особенностях большинства из этих методов, полезно прочитать, если вы хотите получить четкое представление об основах.

person luvieere    schedule 29.08.2011

Некоторые методы...

  1. Основные данные
  2. Напишите в NSUserDefaults.
  3. Запись в файл, например, NSDictionary в plist

Если все, что вы храните, — это набор строк, возможно, вам имеет смысл упростить его и просто использовать NSUserDefaults или создать файл plist и загрузить его в NSDictionary, когда вы запустите свое приложение. Если у вас есть реальные объекты с отношениями и дополнительными свойствами, я бы посмотрел на основные данные.

person mjisrawi    schedule 29.08.2011