0
votes

Comment puis-je utiliser préparer la Segue dans une classe Uitabiliewcell

Je veux envoyer des données entre UitailViewCell et UIViewController

J'ai une liste d'adresse, dans ma cellule, j'ai un bouton (édition) et je souhaite envoyer toutes les informations sur l'adresse de la cellule < Pré> xxx

méthode ne remplace aucune méthode de sa superclasse


1 commentaires

Ne fais pas ça. Toutes les informations sur l'adresse sont également disponibles dans le modèle et la SEGUE doit être effectuée dans le contrôleur


3 Réponses :


0
votes

Utilisez SEGUE à l'intérieur de votre contrôleur qui contient la TableView qui utilise votre UitailViewCell xxx


0 commentaires

0
votes

Vous devez le faire à partir de votre uiviewcontroller code> dans lequel le utableviewcell code> est implémenté:

supposant que vous avez un tableau pour remplir votre utableview code >, le code serait quelque chose comme: p> xxx pré>

puisque vous devez appeler votre fonction à partir d'une action déclenchée par un bouton de votre uableviewcell code>, vous Peut implémenter un protocole sur votre cellule: P>

extension FirstViewController: YourTableViewCellDelegate {

func selectedAddress(address: String) {
     // Do stuff with the selected address
    }
}


1 commentaires

J'ai besoin de le faire lorsque l'utilisateur clique sur le bouton à la place de l'utilisateur sélectionnant la ligne



0
votes

Pour réussir les données de la classe de cellules à la classe de contrôleur Utilisez des méthodes de délégation sur Modifier l'action.

  • Définir la méthode de déléguée de rappel dans UitailViewCell Classe:

    var rappel: ((NSDictionary) -> (vide))? Utilisez DS selon vos besoins.

  • sur Modifier l'action Appelez la méthode déléguée et transmettez les données

    @ibaction Func EditAction (_ Sender: n'importe quel) { rappel? (Dictionnaire) }

  • dans CellforatRat IndexPath Call Délégué Méthode avec objet cellulaire

    Cell.Callback = {(CurrentData: Nsdictionary) dans // Effectuer une action sur les données }

    Pour réussir les données de la classe de contrôleur à la classe de cellule, vous pouvez simplement définir une méthode en classe de cellules et appeller à Cellforat IndexPath.

    • Définir SetData (Dictionnaire) dans la classe de cellules

    • dans le contrôleur de vue

      FUNC TABLEVIEW (_ TableView: UitailView, CellforatRed IndexPath: IndustryPath) -> UitailViewCell { Laissez Cell = TableViewOutlet.DequeuereAsablecell (WithIdidInder: "Cellname", pour: IndexPath) Comme! CellClassName cell.setdata (dict) rapprocher }


0 commentaires