web-dev-qa-db-fra.com

Essayer de lier un événement tap sur une cellule de vue tableau à une méthode de contrôleur

Je suis nouveau à Swift et je n’ai pas programmé dans l’objectif C. Je suis donc nouveau: -) J'essaie de faire quelque chose d'assez simple. Liez une cellule de la table sous forme de tableau. Cliquez pour appeler une méthode dans le contrôleur, comme suit http://prntscr.com/4m9kf7

Modifier:

j'ai ces méthodes dans mon MasterController

  override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
    override func tableView(tableView: UITableView, canEditRowAtIndexPath indexPath: NSIndexPath) -> Bool {
  override func tableView(tableView: UITableView, commitEditingStyle editingStyle: UITableViewCellEditingStyle, forRowAtIndexPath indexPath: NSIndexPath) {
 override func tableView(tableView: UITableView!, didSelectRowAtIndexPath indexPath: NSIndexPath!) {

J'ai ajouté des points d'arrêt dans les quatre d'entre eux ..__ et lorsque vous cliquez sur la cellule, cela ne s'arrête dans aucun d'entre eux . Voir Capture d'écran:

http://prntscr.com/4m9ql0

16
WebQube

Vous devez implémenter la méthode déléguée didSelectRowAtIndexPath et y insérer votre code de traitement. 

override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
     //CODE TO BE RUN ON CELL TOUCH
}
41
Woodstock

Pour Swift 4:

override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
    print("row selected: \(indexPath.row)")
}
1
Alex Zanfir