我想检查NSFetchedResultsController是否没有返回任何对象。这一点是我想有条件地在页面上显示一些信息,以通知用户没有对象。 (还可以选择创建一个。)
我将此连接到普通的表视图。我的想法是我可以在if语句中检查这个:
- (NSString *)tableView:(UITableView *)tableView titleForFooterInSection:(NSInteger)section {
if ([[[_fetchedResultsController sections] objectAtIndex:section] numberOfObjects] == 0) {
return @"Message goes here.";
}
return nil;
}
这很好用,但我不确定这是不是最好的方法。此外,该方法将section info作为参数,所以我只限于在某些区域使用它。如果我在获取请求中没有使用sectionNameKeyPath,我是否可以这样做:
if ([[[_fetchedResultsController sections] objectAtIndex:0] numberOfObjects] == 0)
只用0代替部分?我已经查看了this post,但答案似乎并没有回答这个问题。
答案 0 :(得分:1)
如果您的主要兴趣在于是否返回零对象(而不是零),那么 - [NSFetchedResultsController fetchedObjects]看起来它将提供信息(提供的performFetch被调用)。