Легкие данные миграции ядра

Я использую основные данные для хранения. Для второго выпуска моего приложения я создал новую сущность в своих основных данных, поэтому я использовал легкую миграцию. Этим моя схема была изменена, но пользовательские данные были потеряны. Как сохранить мои данные пользователя?

1 ответ

Вы должны поместить некоторую логику в метод appDelegate didFinishLaunching для новой версии, чтобы он обнаружил, что это обновление и приложение открывается впервые (вы можете сделать это с помощью некоторого поля в userdefaults).

После этого вы читаете текущие данные из БД пользователя с помощью SQL-запросов и временно сохраняете их.

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

Другие вопросы по тегам