Допустим, что моя модель основных данных содержит следующие сущности, Семья:NSFetchedResultsController - группировка результатов от одного объекта
Я хотел бы использовать NSFetchedResultsController, чтобы отобразить содержимое семьи в UITableViewController в следующем формате, где родители «секции» с детьми, перечисленных под «родителей»:
на мой взгляд, файл контроллера I га ве следующее:
- (void)setFRC
{
NSFetchRequest *request = [NSFetchRequest fetchRequestWithEntityName:[Family entityName]];
NSSortDescriptor *sort1 = [[NSSortDescriptor alloc] initWithKey:@"Child" ascending:YES];
NSSortDescriptor *sort2 = [[NSSortDescriptor alloc] initWithKey:@"Name" ascending:YES];
NSArray *sorters = [NSArray arrayWithObjects:sort1, sort2, nil];
[request setSortDescriptors:sorters];
self.fetchedResultsController = [[NSFetchedResultsController alloc] initWithFetchRequest:request managedObjectContext:[MYCoreDataManager managedObjectContext] sectionNameKeyPath:@"Child" cacheName:nil];
}
При использовании кода выше, однако, я получаю следующую таблицу вместо:
Может кто-нибудь сказать мне, как получить «дети», сгруппированных под правильный «родитель»? Я понимаю, что модель данных может быть разделена так, что для дочерних и родительских объектов существуют отдельные объекты; тем не менее, я работаю с устаревшим кодом и пока не имею возможности модифицировать модель данных.
Я думаю, вам нужно использовать предикат для получения дочернего элемента того же родителя с помощью ключа сортировки. с этим вы можете получить фильтрованный массив, например, детей Алама или детей Каина. –
Вы пытались 'sectionNameKeyPath: @" ParentName "'? – norders
@JeckyModi - можете ли вы объяснить на примере? Не уверен, что вы подразумеваете под этим. – Vee