Je commence à penser que mon application Cocoa n'est pas vraiment faite selon les principes du MVC. Mon problème est le suivant:Accéder au contrôleur dans une application Cocoa
J'ai quelques classes dans mon projet, un de appelé Copier.h
et un autre appelé DropReciever.h
. Copier
est en quelque sorte mon contrôleur de vue principal, car il a toutes les liaisons et les méthodes principales. DropReciever
est une implémentation personnalisée d'un NSView
pour permettre à l'application d'accepter les fichiers par glisser-déposer.
Maintenant, existe-t-il un moyen facile d'envoyer des messages à Copier
de DropReceiver
? En ce moment, les deux ne se connaissent pas, et je ne peux pas penser à une manière élégante de les relier, puisqu'ils sont tous les deux un peu instanciés séparément. Comment puis-je les faire se voir? Ou, y a-t-il une façon élégante et cocaïne de faire mieux?
(Si vous voulez regarder mon code source, il est here.)
impressionnant. Merci! – winsmith
Je vois que cela a été voté comme la réponse "correcte", mais il semble que winsmith veut réellement envoyer des messages dans l'autre sens - de la vue au contrôleur. Cela signifie que la vue aurait besoin d'une référence 'Copier *' et que la connexion devrait être faite à l'envers. – erikprice
Il serait assez facile d'inverser la connexion, ou, une fois la connexion établie, de faire quelque chose de délégué – cobbal