Базовая промежуточная сущность данных - PullRequest
1 голос
/ 30 августа 2011

Есть 3 сущности

  1. Отец ----> Имя
  2. Сын ----> Имя
  3. ОтецСон ----> ID

Отношения

  1. Отец --- >> папа
  2. Сын ---> Отец
  3. ОтецСон -> отец--- >> папа, сын ----> сынок

Я использую промежуточную таблицу для сохранения отношений между Отцом и Сыном.Нет прямой связи между Отцом и Сыном.

Теперь,

Я могу сохранить отношения отца и сына в сущности FatherSon.

  1. Моя главная проблема - получить доступ к имени сына от сущности Son.используя отношение FatherSon.
  2. , чтобы получить доступ к Имени Отца из сущности Отца, используя отношение FatherSon.

Вся информация отображается в виде таблицы.

Когдая выбираю имя отца в табличном виде.Событие didselect должно перейти к подробному просмотру и показать список имени Сына, к которому относится Отец, и то же самое для Сына.

1 Ответ

1 голос
/ 30 августа 2011

Я не уверен, что я на 100% понимаю ваш вопрос, но здесь идет. , .

В терминах базовых данных я предполагаю, что у вас есть что-то вроде:

  • Отец - это сущность со свойством fatherSons
  • FatherSon - это сущность со свойством «сын» и свойством «отец»
  • Сын - это сущность со свойством «папа-сын»

Итак, перейти от одного к другому должно быть просто:

// We start with a father
Father *father = <get the father from core data>

// Get a set of all the sons that father ]has
NSSet *sons = father.fatherSons;

// Output each son and his father
for (Son *son in sons)
    NSLog(@"%@ has father %@", son, son.fatherSon.father);

Итак, в вашем табличном представлении вы бы использовали

son.fatherSon.father

для отображения отца конкретного сына и

father.fatherSons

чтобы получить список всех сыновей данного отца


Просто из интереса. , .

Почему вы должны использовать промежуточную таблицу - конечно, это должно быть

Father has many Sons
Son has one Father

(ну, технически у меня был бы ребенок вместо сына, но эй, я не знаю, какое у вас приложение!)

...