Я использую NSFetchedResultsController для моего табличного представления. Я вызываю -performFetch внутри метода -viewDidLoad моего контроллера.
Иногда мой контроллер выгружается, а затем перезагружается, что приводит к другому вызову -viewDidLoad и -performFetch. Я обнаружил, что это вызывает ошибку: «Ошибка NSFetchedResultsController: раздел« (ноль) »не найден в контроллере». Я обнаружил, что многократный вызов -performFetch вызывал проблему, и изменил метод my -viewDidLoad: для выполнения следующих действий:
if( fetchedResCtrlr.fetchedObjects == nil )
{
NSError *error;
if ( ![fetchedResCtrlr performFetch:&error] )
...
}
Будучи новичком в Core Data, мне интересно, правильное ли это действие. Должен ли я на самом деле быть в состоянии вызвать -performFetch: более одного раза без ошибок? Должен ли я что-то делать в -viewDidUnload:?
Спасибо!