Копирование иерархии в Core Data - PullRequest
0 голосов
/ 22 ноября 2011

У меня есть следующая модель:

enter image description here

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

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

1 Ответ

1 голос
/ 22 ноября 2011

Просто сделайте это в два шага:

Сначала создайте новые объекты, скопировав значения атрибутов. На этом этапе также сохраните, например, в NSMutableDictionary отображение исходного объекта на скопированный объект: для каждого копируемого объекта выполните [targetObjects setObject:copiedObject forKey:[originalObject objectID]].
(Вы должны использовать objectID, потому что NSManagedObjects нельзя использовать в качестве ключей словаря.

Затем вы можете воссоздать отношения на втором шаге, используя информацию из исходных отношений и из словаря targetObjects.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...