2013-04-03 6 views
0

Ce sujet est dans mon esprit depuis un moment. Disons que j'ai une application Cocoa qui nécessite que l'utilisateur se connecte. Une fois l'utilisateur connecté, l'application affiche certaines données provenant de la base de données. J'ai deux MVC bien conçus (LoginModel, LoginView, LoginController & DataModel, DataView, DataController). Quel est le meilleur moyen de rediriger vers DataController depuis LoginController? De plus, comment pourrais-je basculer entre les MVC si j'avais en plus Data2Model, Data2View, Data2Controller?Communication entre plusieurs MVC Cocoa

Répondre

0

Créez une classe de base «contrôleur accrédité» qui vérifie le jeton d'authentification et lance automatiquement votre contrôleur de connexion lorsque l'authentification n'existe pas.

Votre contrôleur de connexion aura besoin d'une propriété pour le contrôleur à revenir (ou si vous utilisez iOS, vous pouvez simplement faire sauter la pile du contrôleur de vue). Avec cette configuration, vous utilisez simplement vos contrôleurs accrédités et ils afficheront automatiquement la connexion lorsque les informations d'identification expireront.

+0

Bonne idée! Merci. Qu'en est-il un modèle pour traiter plusieurs fenêtres, panneaux et onglets? –

+0

Avec une interface à plusieurs fenêtres, il est probablement plus sûr d'implémenter la connexion en tant que feuille. Le contrôleur accrédité afficherait la feuille dans la fenêtre principale ('windowForSheet') chaque fois qu'une nouvelle authentification de connexion est requise. –

+1

Merci! Ça marche pour moi –