Проверка, возвращает ли NSFetchedResultsController никаких объектов - PullRequest
0 голосов
/ 09 мая 2011

Я хочу проверить, возвращает ли NSFetchedResultsController какие-либо объекты. Дело в том, что я хочу условно отобразить некоторую информацию на странице, чтобы проинформировать пользователя об отсутствии объектов. (А также дайте им возможность создать его.)

У меня это связано с обычным представлением таблицы. Я думал, что могу проверить это в выражении if, например:

- (NSString *)tableView:(UITableView *)tableView titleForFooterInSection:(NSInteger)section {
    if ([[[_fetchedResultsController sections] objectAtIndex:section] numberOfObjects] == 0) {
        return @"Message goes here.";
    }
    return nil;
}

Это прекрасно работает, но я не уверен, что это лучший способ сделать это. Кроме того, метод принимает информацию о разделе в качестве аргумента, поэтому я ограничен использованием этого только в определенных областях. Если я не использую sectionNameKeyPath в своем запросе на выборку, смогу ли я сделать это:

if ([[[_fetchedResultsController sections] objectAtIndex:0] numberOfObjects] == 0)

и просто использовать 0 вместо раздела? Я прочитал этот пост , но, похоже, ответ на этот вопрос не отвечает.

1 Ответ

1 голос
/ 09 мая 2011

Если ваш основной интерес заключается в том, возвращаются ли нулевые объекты (по сравнению с более чем нулем), то - [NSFetchedResultsController fetchedObjects] выглядит так, как будто она предоставит информацию (при условии, что был вызван executeFetch).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...