2010-03-07 4 views
0

Donc, d'après ce que je comprends de la structure d'application de base pour les programmes de cacao est un AppController dans MainMenu.xib. L'AppController initialise ensuite les WindowControllers et ViewControllers qui ont toute la logique de l'interface utilisateur et à leur tour charger les fichiers xib pour le reste de l'application. AppController crée également les classes Model.Dans le cacao, comment connecter le modèle aux viewcontrollers?

Ma confusion est sur la façon d'obtenir les données des classes du modèle dans les vues. Je voudrais utiliser des liaisons et l'observation de valeurs-clés. Est-ce que chaque contrôleur de vue doit avoir un pointeur vers AppController et ModelController? Si oui, comment feriez-vous cela? Est la seule solution que je peux penser et il ne semble pas très propre.

Répondre

1

Je crée un contrôleur qui crée/charge et possède le modèle. Mon délégué d'application crée et possède ce contrôleur.

Ce même contrôleur possède également généralement la fenêtre ou la vue; J'utilise rarement des contrôleurs de fenêtre dédiés et je n'ai jamais utilisé de contrôleurs de vue. Si vous utilisez des contrôleurs de fenêtre/vue, le contrôleur de modèle les créera et les possédera également.

Ainsi, un contrôleur est responsable à la fois du modèle (ou d'une partie spécifique de celui-ci) et de la fenêtre (contrôleur pour la) qui affiche cette (partie du) modèle.

0

Une façon courante de lier un NSViewController à un modèle consiste à définir sa valeur . Il n'est pas nécessaire de définir un pointeur sur AppController, car il peut toujours être obtenu via [NSApplication sharedApplication].delegate.