Magazine High tech

Le Model peut-il parler au Controller?

Publié le 28 décembre 2011 par Deviphonepro

thématiques: developpement iphone, model vers controller, comprendre mvc, utiliser model, notification, key value observing
 
Le Model peut-il directement parler à son Controller?
model to controller
La réponse est évidente : c’est non, non et non!
Le Model est indépendant à l’UI. Il ne sait absolument rien de ses vues ou de son interface utilisateur, il ne peut donc parler à son Controller, car le job du Controller est de gérer l’UI.
controller to model
Mais que se passe-t-il si quelque chose change dans le Model et que vous voulez mettre à jour le Controller?
model update
Par exemple, vous avez une base de données et quelqu’un d’autre ajoute/supprime des données de la base de données, vous avez un jeu de vaisseau dans l’espace en réseau, un autre joueur tire sur votre vaisseau.
Le Model a donc changé puisque votre vaisseau à reçu des dégâts.
La façon de faire en iOS fonctionne comme une station radio, un mécanisme de diffusion d’informations, qui sont en réalité 2: Notification et Key Value Observing.
model notification key value observing
Ce qui se passe, c’est que dès que quelque chose change, le model diffuse sur une station radio que le Controller écoute, et il entend : “Oh, quelque chose a changé, il faut que je demande au Model qu’est-ce qui a changé”.
On peut donc dire que c’est un moyen de communiquer complètement aveugle, c’est en quelque sorte asynchrone.
Tout se déroule dans la partie principale de l’application mais c’est principalement asynchrone.
model tune in controller
Cette Notification Key Value Observing peut aussi se produire entre la View et le Controller mais elle ne se produira jamais entre le Model et la View.
La view n’écoutera jamais la station radio diffusée par le Model.
mots-clefs: notification, key value observing, comprendre mvc, utiliser model,developpement iphone, model vers controller


Retour à La Une de Logo Paperblog

Dossier Paperblog

Magazines