2013-05-27 4 views
0

У моей исходной модели данных есть сущность «Игра». Теперь я обновил модель, чтобы включить сущность «Match», которая может ссылаться на несколько игр. Я хочу добавить Матч ко всем моим старым играм, и в идеале это было бы необязательным отношением.Модель сопоставления основных данных с новыми (необязательными) отношениями

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

Я попытался выполнить руководство here, но я застрял на части с помощью «StepOneEntityMigrationPolicy.m». Я создал подкласс NSEntityMigrationPolicy и установил его в модели сопоставления. Я пробовал переопределять как createDestinationInstancesForSourceInstance, так и createRelationshipsForDestinationInstance :, но не вызвал.

Возможно, это потому, что мой источник и назначение одинаковы (GameToGame)? Кроме того, есть ли какая-либо польза для этого, используя модель сопоставления, а не как я это делаю сейчас?

ответ

1

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