Основные данные Objective C: Доступ к данным от ребенка ребенка - PullRequest
1 голос
/ 28 октября 2010

Я медленно выясняю Базовые данные для своего приложения для iPad, но я просто не могу понять, как получить доступ к данным от моих многих детей (у которых также есть много детей). Я надеюсь получить примеры кода от экспертов здесь.

Давайте использовать простую структуру данных: Родитель - (для многих) -> Ребенок - (для многих) -> Игрушка

Я могу отлично взять Родителя и получить его данные и NSSet детей. После этого я заблудился.

1) Как будет выглядеть код для получения данных от ребенка (скажем, получить конкретный возраст ребенка или ВСЕ возрасты детей в NSSet?

2) Как мне тогда получить набор игрушек, который есть у конкретного ребенка? (также предполагается, что доступ к данным Toy будет таким же, как код # 1).

Я искренне ценю помощь! Это должно быть проще ... не так ли?

Спасибо!

Ответы [ 2 ]

2 голосов
/ 28 октября 2010

1) Все возрасты детей: NSSet *ages = [parent.children valueForKey: @"age"];

Чтобы получить конкретного ребенка, вам нужно указать этого ребенка. Вы можете просто использовать [parent.children anyObject], но, скорее всего, вас волнует, какой ответ вы получите, и в этом случае вы можете отфильтровать набор. Ознакомьтесь с документацией NSSet, в частности, с методом filteredSetUsingPredicate.

2) Получив своего конкретного ребенка, вы просто запрашиваете его toys свойство.

Легче чем?

1 голос
/ 28 октября 2010

Если эта строка:

NSSet *children = [parent children];

возвращает вам NSSet дочерних объектов, то

NSManagedObject *child = [[parent children] anyObject];

должна получить (случайный) дочерний объект.Из этого объекта вы просто сможете сделать

NSNumber *age = [child age];
NSSet *toys = [child toys];

или я что-то пропустил в вопросе?

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