Обновление UITableView при изменении основных данных с помощью NSFetchedResultsController

Я использую NSFetchedResultsController для заполнения UITableView, который отлично работает. Я также реализовал все методы делегата для NSFetchedResultsController (как описано здесь: http://www.raywenderlich.com/999/core-data-tutorial-how-to-use-nsfetchedresultscontroller).

Пока отображается таблица, ряд асинхронных запросов обновляет базовые объекты данных ядра, что вызывает обновление / перерисовку таблицы, хотя это и не обязательно, поскольку обновленные поля основных данных не отображаются.

Мой вопрос: есть ли возможность обновлять ячейку таблицы только тогда, когда обновляются определенные поля основных данных объекта, а не все? Например. Могу ли я настроить NSFetchedResultsController для определенного набора атрибутов сущности?

Спасибо! Нек


person Nek    schedule 24.01.2012    source источник


Ответы (1)


один из NSFetchedResultsControllerDelegate методов - controller:didChangeObject:atIndexPath:forChangeType:newIndexPath:, вы можете проверить объект, который был изменен, и обновить табличное представление только при необходимости

person wattson12    schedule 24.01.2012
comment
Спасибо! Я посмотрел на это, и в целях тестирования я ничего не делаю для типа изменения NSFetchedResultsChangeUpdate в этом методе. Это приводит к странному поведению в представлении. Довольно много ячеек больше не отображаются, но их можно нажимать, и это не плавная прокрутка, пока объекты обновляются в фоновом режиме. - person Nek; 30.01.2012