检查NSFetchedResultsController是否不返回任何对象

时间:2011-05-09 01:15:51

标签: iphone objective-c ios core-data nsfetchedresultscontroller

我想检查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,但答案似乎并没有回答这个问题。

1 个答案:

答案 0 :(得分:1)

如果您的主要兴趣在于是否返回零对象(而不是零),那么 - [NSFetchedResultsController fetchedObjects]看起来它将提供信息(提供的performFetch被调用)。