Приложение Fetch Is Crash на ViewDidLoad - PullRequest
0 голосов
/ 30 июля 2011

В моем viewDidLoad у меня есть self.todaySession = (id)[fetchedResultsController objectAtIndexPath:[NSIndexPath indexPathForRow:0 inSection:0]];, который прекрасно работает, когда находит этот объект.Но когда этого не происходит, приложение вылетает.Есть ли логическое состояние, которое я могу сделать, чтобы это исправить?

1 Ответ

0 голосов
/ 30 июля 2011

Есть несколько способов сделать это в зависимости от контекста.

Вы можете использовать счет fetchedObjects или sections из NSFetchedResultsController. Обязательно позвоните performFetch: заранее.

    [fetchedResultsController performFetch:self];

    // Option 1
    BOOL someResultsReturned = ([[fetchedResultsController fetchedObjects] count] > 0);
    // Option 2
    BOOL someResultsReturned = ([[fetchedResultsController sections] count] > 0);

    if (someResultsReturned) {
        self.todaySession = (id)[fetchedResultsController objectAtIndexPath:[NSIndexPath indexPathForRow:0 inSection:0]];
    } else {
        // Handle no results here
    }

Дополнительная информация

Подробнее о NSFetchedResultsController читайте здесь .

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