J'ai parcouru les messages similaires à celui-ci mais aucun n'a répondu à mon problème.Méthodes de délégué NSFetchedResultsController ne pas déclencher après mergeChangesFromContextDidSaveNotification
Comme CoreDataBooks, j'utiliser un MOC séparé pour l'ajout et l'édition des articles et observer les notifications appropriées, comme ceci:
- (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");
}
Quand je fais une sauvegarde, il est observé correctement. Le débogage de la notification montre le bon contexte, et le débogage du contexte montre l'élément ajouté juste. Le message de journal imprime également très bien. Mais rien ne se passe. Aucune des méthodes déléguées du NSFetchedResultsController ne se déclenche, et la vue de table n'est pas mise à jour.
Je n'ai pas essayé de mettre en cache ou de l'effacer. J'ai essayé reloadData
sur la tableView, mais rien. Lorsque je quitte l'application et redémarre, il apparaît très bien.
MISE À JOUR: La notification ne contient en effet le bon contexte comme object
, qui contient l'élément correct, mais le hachage userInfo
n'a rien en elle:
userInfo = {
inserted = "{(\n)}";
updated = "{(\n)}";
}
il semble donc que la notification ne avoir des changements, malgré le contexte correct avec l'élément changé .... hmmmm.