J'en ai deux UITableViewControllers
et je dois transmettre la valeur du contrôleur de vue enfant au parent à l'aide d'un délégué. Je sais ce que sont les délégués et je voulais juste voir un exemple simple à suivre.
Merci
J'en ai deux UITableViewControllers
et je dois transmettre la valeur du contrôleur de vue enfant au parent à l'aide d'un délégué. Je sais ce que sont les délégués et je voulais juste voir un exemple simple à suivre.
Merci
Réponses:
Exemple simple ...
Disons que le contrôleur de vue enfant a un
UISlider
et que nous voulons renvoyer la valeur du curseur au parent via un délégué.Dans le fichier d'en-tête du contrôleur de vue enfant, déclarez le type de délégué et ses méthodes:
ChildViewController.h
Dans l'implémentation du contrôleur de vue enfant, appelez les méthodes déléguées selon les besoins.
ChildViewController.m
Dans le fichier d'en-tête du contrôleur de vue parent, déclarez qu'il implémente le
ChildViewControllerDelegate
protocole.RootViewController.h
Dans l'implémentation du contrôleur de vue parent, implémentez les méthodes de délégation de manière appropriée.
RootViewController.m
J'espère que cela t'aides!
la source
detailViewController.delegate = self;
(c'est-tableView:didSelectRowAtIndexPath:
dans l'extrait de code ci-dessus.Ce code ci-dessous montre simplement l'utilisation très basique du concept de délégué .. vous nommez la variable et la classe selon vos besoins.
Vous devez d'abord déclarer un protocole:
Appelons-le MyFirstControllerDelegate.h
Importez le fichier MyFirstControllerDelegate.h et confirmez votre FirstController avec le protocole MyFirstControllerDelegate
Dans le fichier d'implémentation, vous devez implémenter les deux fonctions de protocole:
dans votre SecondController :
Dans le fichier d' implémentation de SecondController .
Voici l'article wiki sur le délégué.
la source
La solution suivante est une approche très basique et simple pour envoyer des données de VC2 à VC1 à l'aide d'un délégué.
PS: Cette solution est réalisée en Xcode 9.X et Swift 4
Déclarer un protocole et créer une var déléguée dans ViewControllerB
ViewControllerA confirme le protocole et devrait recevoir des données via la méthode déléguée sendData
la source
Vous devez utiliser des délégués et des protocoles. Voici un site avec un exemple http://iosdevelopertips.com/objective-c/the-basics-of-protocols-and-delegates.html
la source