У меня сложная проблема, на которую я не могу найти ответ. Моя модель данных имеет следующую структуру:
Версия 1:
Проект имеет много мест
В локации много проектов
Но по ошибке обратная связь между ними никогда не была установлена.
Версия 2:
То же, что и выше, но теперь настроено обратное.
Пример моей проблемы может быть следующим:
В версии 1 у меня есть два проекта, которым принадлежит одно и то же местоположение. Когда я запускаю версию 2 и моя модель отображения обрабатывается, исходный проект, которому принадлежит местоположение, теряет свою связь с этим местоположением, и теперь это местоположение отображается только как часть одного из проектов, а не как оба.
Я понимаю, что эта проблема, вероятно, вызвана тем, что я не установил обратную связь между проектами и местоположениями, но могу ли я что-то сделать, чтобы данные сохранялись в двух версиях приложения / модели данных?
Edit:
Я попробовал предполагаемую модель отображения и попытался создать модель отображения вручную. В настоящее время я использую клавишу NSMigratePersistentStoresAutomaticallyOption
только когда создал свой NSPersistentStoreCoordinator
.
Кроме того, для ясности, у меня есть две версии модели данных, и миграция успешно выполняется, единственная проблема заключается в том, что отношения не сохраняются, как предполагалось.
Редактировать 2:
Я понял, что мне нужно будет создать подкласс NSEntityMigrationPolicy. Я не хочу делать полностью пользовательскую миграцию, я бы предпочел, чтобы остальная часть моей миграции была автоматической, если это возможно. Кто-нибудь знает какие-либо хорошие учебные пособия или примеры по созданию подкласса NSEntityMigrationPolicy, которые будут иметь отношение к моей цели? Я не смог найти много, и, насколько я могу судить, в документах Apple очень мало упоминаний об этом.
Редактировать 3:
Я не могу понять, как установить обратную связь с помощью NSEntityMigrationPolicy. Моя проблема сейчас немного другая, чем я описал ранее. Кто-нибудь знает какой-нибудь убедительный пример, как это сделать?