0

NSFetchRequest用来从 中返回数据Core Data,我的问题是我有多个对象使用相同的唯一键返回,我想将它们组合在一起以在我的表视图中显示每个唯一值的一个单元格。我了解无法使用setReturnsDistinctResults:YES和保留“更改轨道”

所有这些的目的是显示按 mesg_conv_unique 值分组的消息列表。然后用户可以选择进入我设置的留言板视图。这是通过解析视图的唯一键来完成的,这工作正常。

到目前为止我的代码。

NSFetchRequest *request = [[NSFetchRequest alloc] init];
NSEntityDescription *entity = [NSEntityDescription entityForName:@"message"
                                          inManagedObjectContext:self.managedObjectContext];


[request setEntity:entity];
[request setFetchBatchSize:100];
[request setPredicate:nil];
[request setReturnsDistinctResults:YES];
[request setResultType:NSDictionaryResultType];
[request setPropertiesToFetch:@[@"mesg_conv_unique"]];

任何人都可以提出一种方法来做到这一点,同时仍然保留“更改轨道”或者我可以实现目标的另一种方法吗?

4

1 回答 1

-1

解决方案是在这里使用部分:

NSFetchedResultsController *fetchedResultsController = [[NSFetchedResultsController alloc] initWithFetchRequest:request
                                                                                               managedObjectContext:self.managedObjectContext
                                                                                                 sectionNameKeyPath:@"mesg_conv_unique"
                                                                                                          cacheName:nil];

而在……</p>

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
    return 1;
    id items = [self.fetchedResultsController.sections objectAtIndex:section];
    return [items numberOfObjects];
}
于 2013-06-13T10:55:54.403 回答