Как вы перезапустите запрос с помощью NSFetchedResultsController

голоса
0

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

Задан 21/05/2009 в 03:00
источник пользователем
На других языках...                            


3 ответов

голоса
2

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

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

Ответил 03/07/2009 в 04:43
источник пользователем

голоса
2

Был ключ в ссылке, NAAF при условии. Оказывается, что после выполнения сохранения, мне нужно позвонить - [NSFetchedResultsController performFetch] еще раз.

Ответил 21/05/2009 в 12:45
источник пользователем

голоса
2

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

-[NSManagedObjectContext processPendingChanges]
-[NSManagedObjectContext save] 

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

Ответил 21/05/2009 в 04:18
источник пользователем

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more