Кэширование данных, полученных из Firestore

ios

#1

Доброго времени суток!

Делаю приложение, в котором подгружаются данные из Firestore. При переходе с контроллера на контроллер данные удаляются и подгружаются заново. Такое поведение приложения не устраивает.

Нужно сказать, что данные в приложении будут меняться редко. Скорее всего при выпуске очередной версии приложения.

Варианты решения:

  1. Кэшировать данные, полученные из базы, если это возможно. Тогда как обращаться к кэшу?
  2. Создавать локальную БД (Realm или CoreData), и работать уже с ней.

Как в промышленном программировании такие вопросы решают? Ведь есть много приложений, которые работают онлайн, а за дополнительную плату позволяют сохранить данные на устройстве.


#2

В вашей конкретной ситуации это №2 - Создавать локальную БД (Realm или CoreData), и работать уже с ней. Есть ещё вариант хранить данный в файле .plist если их не очень много <1000 записей например, хотя можно и больше наверно :slight_smile: тут вопрос только в сокорости работы: с небольшими данными и моделями по мне проще с плистом работать (меньше лишних зависимостей :slight_smile: ).

З.Ы. У Firestore есть встроенный модуль кеширования, но он предназначен для записи в базу, когда пропадает связь.

З.Ы. Для кеширования больших объектов, например изображений, удобно использовать нативный класс NSCache


#3

Благодарю за ответ!
Двигаюсь дальше.