Так что я отображаю некоторые сущности в UITableView.Нажав на ячейку, я хочу показать другим сущностям, которые уже запрошены в отношении «ко многим».
Например, я отображаю все классы школы.Теперь я хочу показать всех учеников класса.Эти студенты уже доступны как NSSet
в Class.students
Теперь я хочу отобразить студентов в разных разделах, следующих за их первым письмом.
Если я хочу получить их напрямую отCoreData, я бы сделал что-то вроде
// init fetch request
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
NSEntityDescription *entity = [NSEntityDescription entityForName:@"Student" inManagedObjectContext:self.managedObjectContext];
// Search only specific students
[fetchRequest setEntity:entity];
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"class == %@", theClassThoseStudentsBelongTo];
[fetchRequest setPredicate:predicate];
// Generate it
NSFetchedResultsController *theFetchedResultsController =
[[NSFetchedResultsController alloc] initWithFetchRequest:fetchRequest
managedObjectContext:self.managedObjectContext
sectionNameKeyPath:@"firstLetter"
cacheName:@"StudentTable"];
с помощью этого метода, я бы аккуратно разбил их на разделы.
Но у меня уже есть все ученики для определенного класса.Есть ли способ инициализировать NSFetchedResultsController
с инициализированным NSSet
или сделать что-то равное?
Конечно, я могу настроить свой NSSet вручную, но разве нет такого приятного способа, как для нового запроса?
заранее спасибо.Пожалуйста, оставьте комментарий, если что-то неясно.