Извлечение отношений с Core Data - PullRequest
0 голосов
/ 25 января 2010

У меня есть два управляемых объекта, которые имеют двустороннюю связь.Это сегмент_WithDetails, который содержит объект «сегмент».

Я использую

NSEntityDescription *entity = [NSEntityDescription entityForName:@"SegmentWithDetails" 
                                          inManagedObjectContext:connectionDetailsService.connectionDetailsContext];
[fetchRequest setEntity:entity];

, чтобы получить мой сегмент с подробностями.Это работает нормально.

НО, когда я пытаюсь получить содержащийся сегмент, я получаю ноль.

Я пытался получить его с

Segment *segment = [segmentWithDetails valueForKeyPath:@"segment"];

и с

Segment *segment = segmentWithDetails.segment;

Но это не работает (= ноль).Я также попытался изменить NSFetchedResultsController.Я добавил следующее:

[fetchRequest setRelationshipKeyPathsForPrefetching:[NSArray arrayWithObject:@"segment"]];
[fetchRequest setIncludesSubentities:YES];

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

Что мне здесь не хватает?Как мне добраться до объекта отношения «сегмент» из «сегментWithDetails» ??

Ответы [ 2 ]

4 голосов
/ 25 января 2010

Это должно просто работать, как вы описываете. Вы уверены, что объект / отношение «сегмент» действительно существует и содержит реальный объект? Проверьте модель данных, что это отношение не является обязательным, и проверьте код, что вы действительно что-то сохранили.

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

Проблема решена. Это было не то, как я читал данные, а то, как я помещал их в CoreData. Размещенный код выше действительно верен. Спасибо за ответ Яанус.

...