Мне нужно отобразить много текста, предпочтительно предварительно отформатированного или отформатированного с помощью методов NSString. Каждая строка будет иметь подробный экран. На подробном экране другой UITableView будет иметь разделы, скажем, «Определение», «Примеры» и т. Д., Каждый из которых содержит только одну строку. В этих строках я буду отображать текст, который занимает несколько строк. Должен ли я хранить весь текст в базе данных SQLite как столбец для каждого раздела? Существуют ли другие способы локального хранения данных?
Как мне хранить кучу данных локально для отображения в UITableView?
Ответы (2)
У вас есть несколько разных способов хранить данные приложений на вашем iPhone:
Использование простых файлов
Это файлы, содержащие данные в том формате, в котором вы решили, что лучше всего их хранить. Они полезны для сохранения небольших фрагментов текстовых данных, которые не требуют сложной структуры и сильной реляционной организации, чтобы иметь смысл.
Использование файлов Plist
Файлы списка свойств уже имеют структуру ключ-значение, которую вы можете использовать в своих интересах, если ваши данные хорошо подходят для этого формата. Собственные типы данных, такие как NSDictionary
и NSarray
, можно легко сериализовать и десериализовать в этот формат и из него.
Хранение данных "ключ-значение" в NSUserDefaults
Обычно используемые для хранения настроек приложения и других небольших объемов данных, NSUserDefaults полезны для хранения простых типов данных без чрезмерных сложностей.
Хранение информации в базе данных SQL
Полезно, когда ваши данные строго структурированы и реляционны, и вы хотите избежать развертывания собственной структуры хранения данных на основе файлов из соображений времени и производительности. Язык SQL — это мощный инструмент для извлечения и сохранения реляционной информации, и вы можете управлять сложностью своей реализации, прибегая к оболочкам для SQLite, таким как FMDB.
Использование основных данных сильный>
Если вы планируете сохранять и управлять сложным динамическим графом объектов, не беспокоясь о том, как сериализовать и десериализовать его из хранилища самостоятельно, Core Data — ваш лучший выбор. Это может помочь вам во многих отношениях, от отслеживания изменений и поддержки отмены до обслуживания реляционной структуры и миграции.
Здесь подробная статья Oreilly, объясняющая подробнее об особенностях большинства из этих методов, полезно прочитать, если вы хотите получить четкое представление об основах.
Некоторые методы...
- Основные данные
- Напишите в NSUserDefaults.
- Запись в файл, например, NSDictionary в plist
Если все, что вы храните, — это набор строк, возможно, вам имеет смысл упростить его и просто использовать NSUserDefaults или создать файл plist и загрузить его в NSDictionary, когда вы запустите свое приложение. Если у вас есть реальные объекты с отношениями и дополнительными свойствами, я бы посмотрел на основные данные.