8
votes

Fonction d'appel dans une zone de vue de Uitabilectorycell

Comment puis-je appeler une fonction d'un ViewController dans une cellule de TableView personnalisée d'un UitailView dans ce ViewController (en utilisant Swift)? < / p>


2 commentaires

Utilisez protocole-délégué 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?


3 Réponses :


5
votes

poster une notification de votre cellule: xxx

puis écoutez-le dans votre mode de vue: xxx

Assurez-vous de définir le Nouvelle fonction dans votre mode de vue: xxx


2 commentaires

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



1
votes

Vous pouvez déclarer un protocole dans votre uiableviewcell classe.

Faites votre ViewController Délégué de ce protocole.

sur une action de votre cellule, appelez cette méthode de déléguée.


0 commentaires

11
votes

Il y a peu de façons que vous pouvez faire cela

  1. délégation (créer un Délégué de protocole UitailViewCell) Définissez le contrôleur d'affichage en tant que délégué de uitabelveiwcell , puis à partir d'appel de cellule self.degate.whateverdeelgate ()
  2. 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
  3. Gardez une faiblence de ViewController à l'intérieur d'UitailViewCell, signifie Créer une propriété @weak Var ViewController: VotreViewController
  4. 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

1 commentaires

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