добавление Indexed в свойство Core Data — когда оно создано? Приведет ли это к прерыванию обновления приложения?

#iphone #core-data

#iPhone #core-data

Вопрос:

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

Приведет ли это к прерыванию моего обновления, требующего переустановки? Или это будет плавное обновление, и эти свойства будут просто проиндексированы при следующем запуске приложения?

Я не менял модель каким-либо другим способом.

Комментарии:

1. вы добавили новую версию своей модели данных? Или вы просто изменили старое?

2. если он изменит старое — любые сохраненные данные будут несовместимы. Новая версия была бы решением, но если бы у него было управление версиями, он бы не спрашивал, верно?

3. Я могу легко добавить управление версиями, что решит мою проблему?

Ответ №1:

Произойдет сбой. Вы все-таки изменили модель.

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

Комментарии:

1. отличное бесплатное видео, которое объясняет это немного более подробно здесь: ideveloper.tv/store/details ? product_code = 10003

Ответ №2:

Каждый раз, когда вы каким-либо образом меняете модель, вам необходимо использовать управление версиями, чтобы продолжать использовать существующие хранилища данных (например, те, которые у пользователей уже есть в их копиях приложения). Для описанных вами изменений это должно быть довольно просто — вы можете использовать автоматическую облегченную миграцию, и обновление должно быть автоматическим и быстрым.