Y a-t-il un moyen de déléguer toutes les informations des divers documents au HudController comme sa propre instance?
Ceci est un cas où un singleton est approprié. Il y a quelques autres exemples de panneaux similaires; le panneau de polices et le panneau de couleurs fonctionnent tous les deux de la même manière. Donc, faites de votre HudController un singleton (j'ai suggestions on how best to do that).
Ensuite, demandez au HudController de surveiller les documents pour les changements. Les détails peuvent varier, mais vous souhaiterez probablement donner à la classe document (es) des propriétés publiques à travers lesquelles accéder au modèle, puis faire en sorte que HudController surveille l'ouverture et la fermeture des fenêtres de document; Lorsque l'un d'entre eux se produit, faites en sorte que le HudController commence ou termine observing les propriétés du document correspondant de chaque fenêtre.
Tant que vous modifiez les valeurs des propriétés d'une manière compatible avec KVO, la modification entraîne automatiquement une notification au HudController, après quoi vous réagissez à la modification en mettant à jour ce que vous affichez dans la fenêtre HUD.
merci! également trouvé this-> http://cocoawithlove.com/2008/11/singletons-appdelegates-and-top-level.html – theprojectabot