Вопрос

Я хочу сохранить большие объемы текста, а затем отобразить их (сначала в табличном виде, затем в текстовом), однако я не уверен, каким методом это сделать.Должен ли я использовать SQLite или один из методов архивирования.

Это было полезно?

Решение

Ваше утверждение о "больших объемах текста" двусмысленно.Вы могли бы иметь в виду любое из следующих:

  • Большой набор (например, 10 000 элементов) элементов небольшого текста (например, 30 слов)
  • Небольшой набор (например, 50 элементов) элементов большого текста (например, 3000 слов)
  • Большой набор текстовых элементов большого размера...

Я постараюсь ответить по каждому из этих сценариев.

Если вы храните большое количество записей, я считаю, что база данных - это всегда хорошая идея.Это означает использование либо SQLite, либо CoreData.Для работы с CoreData требуется немного больше работы, но есть множество примеров, и этот подход окупится в долгосрочной перспективе.

Основная причина, по которой база данных требуется для больших наборов данных, заключается в том, что тогда вам не нужно загружать все это сразу.Вы же не хотите, чтобы ваши пользователи сидели без дела в течение 30 секунд, пока ваше приложение загружает все свои записи (даже предполагая, что все это сможет загрузиться в память - это происходит быстро!).CoreData, в частности, предназначена для работы с этой моделью "загружайте только те данные, которые пользователь должен видеть".

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

Надеюсь, это поможет!

Другие советы

Я бы сказал, если ваш текст / данные составляют всего несколько килобайт, тогда используйте методы архивирования, в противном случае sqlite для вас.Удачи.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top