Как определить отношение «к себе», которое ко многим только один, с помощью Core Data? - PullRequest
1 голос
/ 31 июля 2011

В программе для работы с векторной графикой у меня есть объект «Группа», который определяет группы графики и другие группы. Группа может принадлежать только одной другой группе, но может содержать много других групп. Это делается через отношения "групп".

Однако в инструменте моделирования данных XCode я не могу понять, как это сделать. У меня есть свойство groups, но когда я выбираю «Отношение ко-многим», это для многих-обеих сторон, я хочу, чтобы оно было для-многих только с одной стороны. Вот диаграмма того, как это происходит в данный момент (выделены отношения «группа»):

diagram

Есть ли способ сделать то, что я хочу, или мне нужны для этого два отношения («подгруппы» и «супергруппы»)?

1 Ответ

2 голосов
/ 01 августа 2011

Вам нужны два отношения, потому что каждый фактический экземпляр будет иметь два отдельных отношения. Он будет принадлежать одной «супергруппе», но будет иметь много «подгрупп». Объекты на других концах этих отношений не будут одинаковыми объектами.

Это в основном та же настройка, что и у древовидной структуры, в которой у каждого узла есть один родительский элемент, но много дочерних. Э.Г.

Node{
  parent<<-->Node.children
  children<-->>Node.parent
}

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

...