Как вы перезапустите запрос, используя NSFetchedResultsController - PullRequest
0 голосов
/ 21 мая 2009

Я заканчиваю учебное пособие по основным данным, и в нем предлагается попытаться перейти на использование NSFetchedResultsController. Итак, у меня есть возможность запросить существующие данные, но когда я добавляю строку в начале, tableView: cellForRowAtIndexPath вызывает NSFetchedResultsController.objectAtIndexPath, но он по-прежнему возвращает старый нулевой объект вместо нового. Что мне нужно сделать, чтобы сбросить эти данные?

Ответы [ 3 ]

2 голосов
/ 21 мая 2009

В ссылке, предоставленной Наафом, была подсказка. Оказывается, после сохранения мне нужно было снова вызвать - [NSFetchedResultsController executeFetch].

2 голосов
/ 03 июля 2009

Вы установили свой контроллер представления в качестве делегата контроллера полученных результатов и внедрили протокол NSFetchedResultsControllerDelegate ? Если это так, вам не нужно выполнять выборку снова, контроллер полученных результатов вызовет методы делегата в ответ на изменения.

(Обратите внимание на предостережение в документации NSFetchedResultsController относительно реализации методов источника данных табличного представления.)

2 голосов
/ 21 мая 2009

Никто еще не ответил, поэтому я добавлю свое предположение. Похоже, эта ссылка может быть актуальной. Существует предположение, что вызов любого из этих двух методов должен получить обновление для вас:

-[NSManagedObjectContext processPendingChanges]
-[NSManagedObjectContext save] 

Возможно, документация для NSManagedObjectContext будет полезна.

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