#iphone #core-data
#iPhone #core-data
Вопрос:
Я выпускаю обновление для своего приложения и проиндексировал несколько полей в своей модели, чтобы ускорить поиск.
Приведет ли это к прерыванию моего обновления, требующего переустановки? Или это будет плавное обновление, и эти свойства будут просто проиндексированы при следующем запуске приложения?
Я не менял модель каким-либо другим способом.
Комментарии:
1. вы добавили новую версию своей модели данных? Или вы просто изменили старое?
2. если он изменит старое — любые сохраненные данные будут несовместимы. Новая версия была бы решением, но если бы у него было управление версиями, он бы не спрашивал, верно?
3. Я могу легко добавить управление версиями, что решит мою проблему?
Ответ №1:
Произойдет сбой. Вы все-таки изменили модель.
Просто измените его и дайте ему запуститься в симуляторе. это должно вызвать у вас исключение, поскольку они отличаются. Вы могли бы использовать управление версиями, но это неудобно для небольшого изменения.
Комментарии:
1. отличное бесплатное видео, которое объясняет это немного более подробно здесь: ideveloper.tv/store/details ? product_code = 10003
Ответ №2:
Каждый раз, когда вы каким-либо образом меняете модель, вам необходимо использовать управление версиями, чтобы продолжать использовать существующие хранилища данных (например, те, которые у пользователей уже есть в их копиях приложения). Для описанных вами изменений это должно быть довольно просто — вы можете использовать автоматическую облегченную миграцию, и обновление должно быть автоматическим и быстрым.