Je suis frappé par KVC/KVO. Super puissant. Mais il y a un problème. J'essaie d'être vrai le etho MVC mais je ne vois aucun moyen d'utiliser un modèle d'observation pour surveiller l'allocation ou la désallocation d'une instance de classe Objective-C.Comment observer la création/destruction d'une instance d'objet?
Ceci est réellement important car j'ai un modèle avec une messagerie interne à grain fin que je veux observer à partir d'un contrôleur (ou d'un délégué). La pierre d'achoppement pour moi est que je ne vois pas comment, en dehors du modèle, je peux retirer un observateur pour un sous-composant sur le point d'être désaffecté sans que le contrôleur ne sache la logique interne du modèle qui compromettrait l'encapsulation. Est-ce que quelqu'un peut suggérer une approche pour ce scénario?
Merci, Doug
Vous l'avez cloué Jim. Merci pour la clarification. J'ai complètement ignoré le fait que c'est l'ivar se référant à l'instance de l'objet que je devrais observer, pas l'instance elle-même. Et plus loin, en utilisant dot syntac - grandparent.parent.child - je peux observer n'importe quoi dans le graphe d'objet. Je suppose qu'il existe un modèle KVO pour observer les collections, oui? 2 pouces vers le haut Jim. -Doug – dugla
Vous remarquez la propriété pour cette relation. Dans mon application de dessin, vous observeriez la propriété "shapes". En tant qu'implémenteur de l'objet document, je dois m'assurer que chaque fois que je mute le _shapes ivar, je le fais de manière conforme au KVO. Parcourez NSKeyValueObserving.h pour voir quelles notifications KVO vous devriez encapsuler la mutation de la relation, et quelles informations vous pouvez vous attendre à voir dans votre rappel d'observateur lorsque de telles mutations sont faites. –