Utiliser les @protocol et la delegation pour faire communiquer 2 ViewControllers
AliGator
Membre, Modérateur
Passage de paramètres entre deux ViewControllers : Delegate & @protocol
Ce tutoriel présente comment faire communiquer deux ViewControllers pour faire passer des paramètres de l'un à l'autre en utilisant le mécanisme de délégation (delegate) et la notion de @protocol.
Il va ainsi vous montrer comment créer votre propre @protocol et déclarer un delegate à une de votre classes perso et ainsi utiliser ce mécansime de delegation pour passer des informations d'un ViewController à un autre
Ce tutoriel présente comment faire communiquer deux ViewControllers pour faire passer des paramètres de l'un à l'autre en utilisant le mécanisme de délégation (delegate) et la notion de @protocol.
Il va ainsi vous montrer comment créer votre propre @protocol et déclarer un delegate à une de votre classes perso et ainsi utiliser ce mécansime de delegation pour passer des informations d'un ViewController à un autre
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
Pour ma part, j'en utilise de plus en plus (des delegates) dans mes applications.
C'est un concept fondamental en POO donc j'invite tous les nouveaux à lire et comprendre ce tutoriel.
Peut-être peux-tu ajouter 2 ou 3 lignes sur le @optionnal possible pour les méthodes déclarées du delegate.
Va falloir que je m'y mette aussi à écrire des tutos, histoire de me payer un iPhone 4. ::)
Tu en fais un par mois et houpi tu l'as dans 12 mois
Petit à petit la section des tutoriels prend du volume...
... mais je vois que le rythme va changer!
merci bcq
Merci pour ce tutoriel qui m'a beaucoup éclairer sur l'utilité des protocoles.
Avant de lire, j'implémentais mes protocoles gentiment parce qu'on m'a dit de le faire.
Maintenant j'ai compris, ...un peu plus mais une zone d'ombre subsiste:
Après avoir suivi ton tuto à la ligne pour mon projet en l'occurrence passage d'un NSMutableArray entre deux ViewController reliées modalement (hum...), ma méthode didChangeCriteria: n'est pas appelée dans VC1 (NSlog à l'appui).
Quelqu'un aurait une idée du pourquoi ?
Peux-tu citer ici le code dans lequel tu appelles didChangeCriteria ?
Dans l'autre sens, as-tu bien affecté la propriété delegate à l'objet en question qui implémente cette méthode ?
enregistrer: étant la méthode d'action d'un bouton
je déclare bien que ma première ViewController implémente le protocole (avec les <>)
Et ta variable "delegate" elle n'est pas nil, elle a bien été affectée à ton ViewController parent, à qui tu veut renvoyer l'info ?
MODIF: mais mon delegate est null... >:(
Tu as dû oublier d'affecter la propriété "delegate" avant de pusher ton ViewController.
ça fonctionne du feu de Dieu <br />
Merci beaucoup
il y a un truc qui m'échappe dans le début du code, pour chercher chaque object et prendre leur 1ère lettre : quand remplit-on key, et que met-on comme string, comme argument de la fonction?
je comprends qu'on cherche chaque objet du tableau, puis qu'on extrait seulement sa 1ère lettre, mais je me demande ce que représente "key" dans l'argument de la fonction
Merci