Обновление UITableView вручную (замена логики NSFetchedResultsController) - PullRequest
0 голосов
/ 01 июля 2011

i используется комбинация контроллера очереди и результатов для обновления и отображения некоторых объектов coredata.У меня есть некоторые исключения и проблемы (см. Эту ветку NSOperationQueue и NSFetchedResultsController ).После долгих исследований я обнаружил, что проблема связана с NSFetchedResultsController, и решил написать собственную логику обновления для uitableview.

Моя новая стратегия: - Когда загружается мое представление, я извлекаю все объекты из базовых данных в массив и отображаю их - Через 20 секунд я пытаюсь загрузить новые данные из сети и обновить основные данные (в течение секундыпоток / или nsoperation) Этот поток использует свой собственный объектный текст ... мой основной контекст будет игнорировать любые изменения!- После этого я снова получаю свои объекты, но во временном массиве. - Теперь мне нужно обновить свой uitableview, но я не знаю, как ... мне нужно сравнить оба массива и обновить, удалить или вставить ячейки ..

Для меня важно иметь эту хорошую анимацию для вставки и удаления.В моем случае все объекты находятся только в одном разделе!Но вполне возможно, что у меня есть вид с "Cars" и "Hotels" => 2 раздела, но с разными объектами (2 массива источника данных)

Может кто-нибудь предоставить мне хороший пример для обновления uitableview.

Я использовал:

- (void)controller:(NSFetchedResultsController *)controller didChangeObject:(id)anObject atIndexPath:(NSIndexPath *)indexPath forChangeType:(NSFetchedResultsChangeType)type newIndexPath:(NSIndexPath *)newIndexPath 

Мне нужно заменить NSFetchedResultsController логику.

Большое спасибо!

1 Ответ

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

Это может быть слишком простой ответ, но я использовал

[self.tableView reloadData];  

И воткнул его в - (void) viewWillAppear: (BOOL) анимированный метод.

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