2009-10-07 7 views
1

J'ai un scénario très simple:iPhone - De retour d'une valeur d'un UIViewController qui est présenté à l'aide presentModalViewController

application iPhone My contient une implémentation UIViewController qui affiche une liste d'éléments. Dans sa barre de navigation, il y a un bouton pour ajouter des éléments à cette liste. Lorsque ce bouton est cliqué, une nouvelle UIViewController est instancié et présenté à l'écran en utilisant:

[self presentModalViewController:controller animated:YES]; 

Ce contrôleur contient des vues qui prennent l'entrée d'utilisateur pour un nouvel élément dans la liste. Une fois que l'utilisateur a fini de saisir des informations, il clique sur le bouton "Terminé".

Le bouton «Terminé» doit prendre toutes les informations saisies et les renvoyer au premier contrôleur (celui qui affiche la liste). Le premier contrôleur pourrait alors ajouter un élément à sa liste en fonction des informations qu'il vient d'entrer.

Ma question est: Comment puis-je renvoyer les informations du deuxième contrôleur au premier contrôleur d'une manière agréable?

Répondre

2

Vous pouvez utiliser des protocoles ... Dans votre contrôleur de vue modale, vous pouvez définir un protocole qui doit être implémenté par son délégué, dites la méthode - (void) userDidEnterInfo: (une sorte d'info), dans votre contrôleur de vue que vous Si vous souhaitez transmettre l'information, vous pouvez vous conformer au protocole et devenir le délégué des contrôleurs de vue ... juste avant de le rejeter ou lorsque vous êtes prêt à envoyer l'info, vous pouvez appeler [delegate userDidEnterInfo:] et le contrôleur de vue recevra l'information ... Plus sur les protocoles http://developer.apple.com/iphone/library/documentation/Cocoa/Conceptual/ObjectiveC/Articles/ocProtocols.html#//apple_ref/doc/uid/TP30001163-CH15

+0

Merci. C'est ce que je cherchais! –

+1

Bonne réponse, aurait été bien avec l'exemple de code. Et explication pourquoi vous devriez éviter les dépendances circulaires. – PeyloW

+0

theres exemple dans le guide i fourni, pas besoin de moi pour fournir le code ... sa ligne directe – Daniel

Questions connexes