[Iphone] Что мне нужно сделать, чтобы заставить Core Data автоматически переносить модели?


Answers

Это было невероятно полезно. Документация Apple была, как обычно, крайне неполной. Я рекомендую делать чистую сборку, так как я столкнулся с ошибкой «Не могу объединить модели с двумя разными объектами xxx», когда я впервые запускал после внесения этих изменений. Чистая сборка зафиксировала его.

Question

Я прочитал в документации об автоматической / облегченной миграции для моделей Core Data, но у меня проблемы с реализацией его реализации.

Насколько я понимаю, приложение должно заметить, что модель, которую она имеет, и модель, которая существует на устройстве, уже не совпадают. Если у вас есть только добавленные атрибуты или отношения и подобные простые изменения, то модель должна быть обновлена ​​автоматически.

Любые указатели - мне нужно что-то установить в xCode?




Я наткнулся на этот пост из-за других проблем, но ошибка была « Конфигурация модели, используемая для открытия магазина, несовместима с той, которая использовалась для создания магазина ».

Вот моя проблема и решение. В моей модели я использовал конфигурации . У меня было несколько объектов, которые хранятся в одном файле, а остальные - во втором файле. (У меня есть некоторые значения по умолчанию, которые могут периодически потребоваться для загрузки, и было бы невероятной болью, чтобы объединить их в целом). Во всяком случае, я создал новую сущность. Программа, казалось, работала нормально, но всякий раз, когда я уходил, у меня была ошибка выше.

Решение заключалось в том, чтобы посмотреть на мои конфигурации, понять, что у меня есть объект, который в настоящее время не находится ни в одной из конфигураций, и добавьте его в один. Бежит как сон.

Это не устранит проблему OP. Но, может быть, какой-то разочарованный человек, который приземляется здесь через google, будет в лодке, в которой я был :)




Кроме того, если вы наткнулись на этот пост, как и я, после получения «Модель, используемая для открытия магазина, несовместима с ошибкой, используемой для создания магазина», и вы просто отлаживаете с помощью симулятора и хотите полностью заменить старая модель, вы можете просто сбросить приложение «Симулятор» или удалить приложение из симулятора, вероятно, будет работать.

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




Незначительное редактирование для замечательных инструкций @ Grouchal выше для Xcode версии 5:

Старый: 2. Выберите меню «Дизайн» вверху - затем «Модель данных», затем выберите «Добавить версию модели»

Версия 5+: 2. Выберите меню «Редактор», затем «Добавить версию модели ...», введите название своей версии и на основе модели (выберите свою оригинальную модель из списка)







Links