0

Есть ли хороший способ изменить родительский объект NSManagedObject в другой версии?
Допустим, на модели версии 1.1 я получил:изменить родительский объект NSManagedObject в другой версии

  • anObject - без родительского объекта

в версии 1.2 я хочу, чтобы он унаследован от

  • объекта - родительский класс, который уже существует в версии 1.1 и содержит свойство «objectID»

Когда я изменить его родительский объект крах приложения с:

Нагрузочное приложением из-за неперехваченное исключение «NSInternalInconsistencyException», причина: «Невозможно создать управляемые контексты объектов: координатор Упорного магазина не имеет какие-либо постоянные магазинов , Вероятно, это означает, что вы забыли добавить постоянный магазин, или ваша попытка сделать это не удалась с ошибкой. '

В this answer предлагается создать новые объекты с разными именами в новой версии и удалить старые.
Мой вопрос в том, есть ли «чище» решение для такого рода проблем?
Как добавить модель сопоставления к модели проекта/текущего?

ответ

1

Ok решение довольно простое,
Вы делаете необходимые изменения в модели (изменить «anObject» родительский объект)
Тогда все, что вам нужно сделать, это добавить новую модель отображения, выбрав «New File "->„Основные данные“->„отображение модели“

Add a new mapping model

Убедитесь, что вы делаете изменения в модели, прежде чем добавить новую модель отображения!
Затем выберите исходную модель данных (в моем случае версии 1.1) и целевую модель данных (1.2) и создайте новую модель сопоставления.
Для меня это было так просто, даже не нужно было вносить какие-либо изменения в новую модель сопоставления. Я хотел бы здесь, если у кого-нибудь есть комментарии о плюсах и минусах для использования картографических моделей.