Как предотвратить вызов cellForRowAtIndexPath для неэкранных ячеек, вставленных NSFetchedResultsChangeInsert & insertRowsAtIndexPaths - PullRequest
3 голосов
/ 18 марта 2011

Я обрабатываю XML и асинхронно создаю управляемые объекты. У меня есть таблица, которая реагирует на это, вставляя ячейки с NSFetchedResultsChangeInsert.

Но все ячейки, которые вставляются в таблицу с помощью NSFetchedResultsChangeInsert & insertRowsAtIndexPaths, запускают cellForRowAtIndexPath и willDisplayCell. Даже когда их нет на экране. Это приводит к ненужной обработке ячейки, которая должна выполняться только тогда, когда ячейка действительно видна.

Как я могу динамически вставлять объекты в таблицу через NSFetchedResultsChangeInsert, не вызывая рендеринга, когда их нет на экране?

1 Ответ

1 голос
/ 20 марта 2011

Проблема найдена. Я думаю, что все объекты CoreData вызывали методы NSFetchedResultsControllerDelegate, потому что я сохранил контекст со всеми объектами в конце. Если я сохраняю контекст после каждого создаваемого объекта, я вижу обновления ячеек только для тех видимых ячеек.

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