Просматривает сообщения, подобные этому, но никто не ответил на мою проблему.NSFetchedResultsController методы делегата не запускаются после mergeChangesFromContextDidSaveNotification
Как CoreDataBooks, я использую отдельный MOC для добавления и редактирования элементов и соблюдать соответствующие уведомления, например, так:
- (void)addControllerContextDidSave:(NSNotification*)saveNotification {
NSManagedObjectContext *context = [self.fetchedResultsController managedObjectContext];
// Merging changes causes the fetched results controller to update its results
[context mergeChangesFromContextDidSaveNotification:saveNotification];
NSLog(@"merging changes in rootview");
}
Когда я ворота, он правильно заметил. Отладка уведомления показывает правильный контекст, и отладка контекста показывает только что добавленный элемент. Сообщение журнала также отлично печатается. Но ничего не происходит. Ни один из методов делегирования режима NSFetchedResultsController не обновляется и не обновляется.
Я не пытался кешировать или очищать его. Я пробовал reloadData
на столеView, но ничего. Когда я ухожу из приложения и перезагружаюсь, он отображается нормально.
UPDATE: Уведомление действительно содержит правильный контекст в качестве его object
, который содержит правильный элемент, но userInfo
хэш не имеет ничего в нем:
userInfo = {
inserted = "{(\n)}";
updated = "{(\n)}";
}
Так выглядит уведомление не имеют какие-либо изменения в нем, несмотря на то, что они имеют правильный контекст с измененным предметом .... хмммм.