NSFetchedResultsController and Relationship - PullRequest
5 голосов
/ 23 июля 2011

На этот раз я получаю странное поведение с NSFetchedResultsController.Я создаю fetchRequest следующим образом:

NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
NSEntityDescription *entdesc = [NSEntityDescription entityForName:@"Exam" inManagedObjectContext:self.managedObjectContext];
[fetchRequest setEntity:entdesc];
NSPredicate *predi = [NSPredicate predicateWithFormat:@"student == %@", self.student];
[fetchRequest setPredicate:predi];

Если я выполню его с executeFetchRequest:error: NSManagedObjectContext, я получу ожидаемый результат.Все экзамены по мнению студента.(Между учеником и экзаменом есть отношение один ко многим) Но если я использую тот же fetchRequest в NSFetchedResultsController, я получаю что-то другое.До сих пор я не вылезал, что я точно получаю.На мой взгляд результат случайный.

Вы можете мне помочь?Я хочу управлять экзаменами данного студента с помощью NSFetchedResultsController.

Сандро Мейер

1 Ответ

1 голос
/ 23 июля 2011

Если у вас уже есть объект Student, вам не нужно выбирать объекты Exam, вы просто запрашиваете у объекта Student содержимое его отношения exams. Нет необходимости извлекать, потому что у вас уже есть ссылка на все Exam объекты, которые вы хотите.

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

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