Цель-C: отношение к собственному классу (CoreData) - PullRequest
1 голос
/ 22 января 2010

В моем проекте есть управляемый объект под названием «Группа».

Этот объект сам может содержать объекты дочерней группы.

Как мне решить эту ситуацию в CoreData и в FetchedResultsController?

Мой первый выстрел:

http://i46.tinypic.com/zvonpd.png

Спасибо, Дэн

Ответы [ 2 ]

3 голосов
/ 22 января 2010

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

Группа имеет отношение ко многим с Группой, называемой «дети», Группа также имеет отношения ко многим с Группой, называемой «родители», и они противоположны друг другу.

Или, если ваша модель данных требует только одного родителя: у Группы есть отношение ко-многим с Группой с именем «children», Group также имеет отношение «один-к-одному» с Группой с именем «parent», и они противоположны друг другу. .

1 голос
/ 22 января 2010

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

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

...