Je me demande quand NSFetchedResultsChangeUpdate
le type de changement dans la méthode controller:didChangeObject:atIndexPath:forChangeType:newIndexPath:
est passé?Lorsque le type de changement NSFetchedResultsChangeUpdate se produit?
J'ai créé NSFetchedResultsController
avec sectionNameKeyPath
non nul et demande d'extraction qui ont sortDescriptor
. Ajout de quelques objets correspondant au prédicat de requête récupérée. Ensuite, j'ai essayé à la fois de changer la propriété de tri et la propriété sectionNameKeyPath
de l'un de ces objets. En fait cela a bien fonctionné: l'objet changé s'est déplacé autour d'un tableView, MAIS chaque fois que j'ai reçu le type de changement NSFetchedResultsChangeMove
! La modification d'autres accessoires (non utilisés pour le tri ou les sections) de cet objet n'a pas du tout déclenché controller:didChangeObject:atIndexPath:forChangeType:newIndexPath:
!
La raison pour laquelle je suis intéressé par NSFetchedResultsChangeUpdate
est que je veux NSFetchedResultsController
de me notifier lorsque certaines propriétés de l'objet déjà récupéré change dans les limites correspondant NSFetchedResultsController.fetchRequest.predicate
. Par exemple, le prédicat met en correspondance l'objet de certaines entités avec prop == 1 OR prop == 2
. Mais je veux aussi être informé quand un de ces objets appariés change prop
valeur de 1 à 2.
Je ne veux pas créer deux NSFetchedResultsController
s car je crois qu'il y a une manière plus élégante. + NSFetchedResultsChangeUpdate
changer le type est le seul mystère encore inconnu pour moi sur NSFetchedResultsController
- jamais attrapé.
NSFetchedResultsChangeUpdate se déclenche quand les entités * sont liées * aux entités gérées par un NSFetchedResultsController changement? Par exemple, disons que je crée des TVC qui affichent une entité parente, avec un nombre d'entités enfants basé sur une relation "à plusieurs". Que se passe-t-il si le nombre d'entités enfants change? Est-ce quelque chose que je devrais gérer seul? (Je devine oui.) –
à partir des docs: Les modifications sont signalées avec les heuristiques suivantes: Lors des opérations d'ajout et de suppression, seul l'objet ajouté/supprimé est signalé. Il est supposé que tous les objets qui suivent l'objet affecté sont également déplacés, mais ces déplacements ne sont pas signalés. ... – bshirley