2014-11-26 2 views
0

У меня есть NSFetchedResultsController со статическим запросом, который никогда не изменяется. Если предыдущее количество записей было 0 (в последний раз использовался fetchedResultscontroller), а затем где-то еще (пока пользователь находится на другом viewController), новая запись добавляется к основным данным, которые будут частью запроса, в следующий раз, когда я загружу на странице я получаю сбой.NSFetchedResuktsController - Кэш вызывает сбои?

Этот сбой происходит только тогда, когда предыдущее количество записей, извлекаемых из fetchedResultsController были 0.

CoreData: error: Serious application error. Exception was caught during Core Data change processing. This is usually a bug within an observer of NSManagedObjectContextObjectsDidChangeNotification. *** -[__NSArrayM objectAtIndex:]: index 0 beyond bounds for empty array with userInfo (null) 
2014-11-26 13:55:50.772 Company[47714:613] *** Terminating app due to uncaught exception 'NSRangeException', reason: '*** -[__NSArrayM objectAtIndex:]: index 0 beyond bounds for empty array' 


_fetchedResultsController = [[NSFetchedResultsController alloc] initWithFetchRequest:self.fetchRequest 
                    managedObjectContext:context 
                     sectionNameKeyPath:self.sectionNameKeyPath 
                       cacheName:self.fetchedResultsControllerCacheName]; 

Любое решение этого?

+0

Это происходит, когда кеширование отключено? Можете ли вы отправить код, пожалуйста? – Xyand

+0

Это происходит только тогда, когда я задал имя кеша на выбранном контроллере результатов. – aryaxt

+0

Можете ли вы также добавить часть, в которой используется FRC? Вероятно, какой-то источник данных – Xyand

ответ

0

У вас есть несколько NSFetchedResultsControllers, использующих то же имя кеша? Кажется, я помню, что это вызвало у меня некоторые проблемы. Также рекомендуется в documentation

«Если у вас есть несколько контроллеров с заданными результатами с различными конфигурациями (разные дескрипторы сортировки и т. Д.), Вы должны указать каждому другое имя кеша».

+0

Нет только одного получателя результатов с уникальным именем кеша – aryaxt

Смежные вопросы