我有一个核心数据应用程序,它显示一个自定义对象列表,每个对象代表戏剧作品。
每个show对象都有一堆属性 - 名称,徽标,开放日期,显示类型。
我可以很好地检索它们,按类型排序就好了 - 但我希望每个节目类型都是表格中自己的部分。
我提前不知道结果集中将显示多少个节目类型,所以我最初不知道应该有多少个节目。
所以我想问题是 - 我如何将结果集划分为按类型分组的部分?
目前我正在这样做:
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
NSEntityDescription *entity = [NSEntityDescription entityForName:@"Show" inManagedObjectContext:self.managedObjectContext];
[fetchRequest setEntity:entity];
[fetchRequest setFetchBatchSize:20];
NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"type" ascending:NO];
NSArray *sortDescriptors = [[NSArray alloc] initWithObjects:sortDescriptor, nil];
[fetchRequest setSortDescriptors:sortDescriptors];
// Edit the section name key path and cache name if appropriate.
// nil for section name key path means "no sections".
NSFetchedResultsController *aFetchedResultsController = [[NSFetchedResultsController alloc] initWithFetchRequest:fetchRequest managedObjectContext:self.managedObjectContext sectionNameKeyPath:nil cacheName:@"Root"];
aFetchedResultsController.delegate = self;
self.fetchedResultsController = aFetchedResultsController;
答案 0 :(得分:1)
我会编写numberOfSections方法,以便动态检查类型的数量。然后,只要新类型滚入,只需执行[tableView reloadData];