Лучшие практики для хранения локальных данных в ios фреймворковом проекте - PullRequest
1 голос
/ 01 февраля 2020

Я работаю над пользовательским фреймворком, который будет использоваться разработчиками. Я сохраняю некоторые данные локально внутри моей платформы для этого я думаю использовать UserDefaults, но я хочу знать:

  1. Это лучший способ сделать это?
  2. Если приложение UserDefaults очищаются, тогда он очистит и мои данные фреймворков?

Я хочу знать, как я могу хранить локальные данные в ios framework. Каково лучшее решение для этого? Я в замешательстве, может кто-нибудь помочь?

Ответы [ 2 ]

0 голосов
/ 01 февраля 2020

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

Просто предложение, но почему бы не использовать CoreData для управления моделями и хранения данных в БД sqlite на устройстве. Когда платформа загружена, вы можете проверить, существуют ли данные, если нет, затем извлекать их.

Я бы предложил использовать функциональность, предоставляемую Apple, а не использовать сторонние решения, такие как Realm, с третьей стороной, которая вам понадобится. обновиться до последней версии, чтобы все работало нормально.

Пожалуйста, прочитайте их, чтобы избежать путаницы. https://cocoacasts.com/what-is-the-difference-between-core-data-and-sqlite/

Учебник по использованию Coredata: https://www.raywenderlich.com/7569-getting-started-with-core-data-tutorial

0 голосов
/ 01 февраля 2020

Это зависит от данных, которые вы хотите сохранить.

Если ваша цель состоит в том, чтобы сохранить некоторые настройки для вашей платформы (например, должны ли быть включены некоторые функции или нет), тогда подойдут UserDefaults. Если вы хотите хранить данные пользователя (или все, что вы можете получить с сервера), то вам, вероятно, стоит подумать об использовании CoreData, который является постоянным хранилищем iOS / macOS / tvOS.

Вы также можете использовать базу данных Realm, но не рекомендуется использовать ее в фреймворках, поскольку она будет добавлена ​​в любое приложение, которое будет использовать ваш фреймворк (и разработчики, вероятно, не будут этому рады ).

По поводу ваших вопросов:

  1. Зависит, см. Выше
  2. Да
...