Comment puis-je appeler une fonction d'un ViewController Code> dans une cellule de TableView personnalisée d'un
UitailView code> dans ce
ViewController code> (en utilisant Swift)? < / p>
3 Réponses :
poster une notification de votre cellule: puis écoutez-le dans votre mode de vue: p> Assurez-vous de définir le Nouvelle fonction dans votre mode de vue: p>
Y a-t-il un moyen de passer un paramètre de cette façon?
Stackoverflow.com/q/25933545/3641111 Vérifiez où il indique une solution complète dans la question
Vous pouvez déclarer un Faites votre sur une action de votre cellule, appelez cette méthode de déléguée. P> protocole code> dans votre
uiableviewcell code> classe. p>
ViewController Code> Délégué de ce protocole. P>
Il y a peu de façons que vous pouvez faire cela p>
uitabelveiwcell code>, puis à partir d'appel de cellule self.degate.whateverdeelgate () code> li>
- Poste Notification de la cellule et enregistrez l'observateur de cette notification à l'intérieur View Controller Afficher la vue
NsnotificationCenter.defaultCenter (). Addobserver (auto, sélecteur: "Nomofselector", Nom: "Nom de la notification", Objet: NIL) < / Code> puis à partir de la postnotification des cellules de TableView, mais assurez-vous de vouloir supprimer également, visitez ce lien < / a> pour plus de détails li>
- Gardez une faiblence de ViewController à l'intérieur d'UitailViewCell, signifie Créer une propriété
@weak Var ViewController: VotreViewController Utilisez-le et utilisez-le pour appeler la méthode sur View Controller (non recommandé) LI>
- Ajouter un observateur sur un chemin de clé Aka KVO (cela appellera une méthode dans le contrôleur d'affichage Lorsqu'une propriété change sa valeur) peut ne pas être nécessaire pour votre scénario LI>
ol>
Merci beaucoup mais peut me donner un exemple de délégation dans ce cas de déclenchement de la cellule de la cellule et le contrôleur d'affichage du parent exécutent une fonction
Utilisez
protocole-délégué code> ou gardez une faiblesse de référence de l'instance ViewController.
Pouvez-vous s'il vous plaît élaborer quand voulez-vous appeler la fonction ou montrer du code?