0

J'ai créé une table et un contrôleur de barre de recherche avec elle. J'ai utilisé une structure pour créer le contenu de la table. Je veux juste stocker les données dans la cellule sélectionnée dans une variable. Je suis une nouvelle aide iOS developer.please :) TIADidSelectRowAtIndexPath SWIFT

//my struct 

import Foundation  
struct areas 
    { 
     let name : String 
    } 

// table contents 

override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell { 
     let cell = self.tableView.dequeueReusableCellWithIdentifier("Cell", forIndexPath: indexPath) as! UITableViewCell 

     var place :areas 

     if tableView == self.searchDisplayController!.searchResultsTableView{ 

      place = filteredareas[indexPath.row] 
     } 

     else{ 

      place = places[indexPath.row] 
     } 

     cell.textLabel!.text = place.name 
     cell.accessoryType = UITableViewCellAccessoryType.DisclosureIndicator 

     return cell 
    } 

Comment utiliser didSelectRowAtIndexPath pour connaître le contenu de la cellule vous cliquez dessus?

+1

https://developer.apple.com/library/ios/documentation/UIKit/Reference/UITableViewDelegate_Protocol/ lire –

Répondre

-1

Essayez cela;

func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) { 
     var place: areas 
     place = filteredareas[indexPath.row] 
     // do with place whatever you want 
} 
+1

Veuillez expliquer comment ce code répond à la question. Fournir un contexte supplémentaire expliquant pourquoi et/ou comment ce code répond à la question améliore sa valeur à long terme. – JAL

1

Lorsque vous cliquez sur un tableviewcell la méthode tableviewdelegate didSelectRowAtIndexPath est appelée, la méthode vous donne indexPath afin que vous puissiez accéder à la ligne de votre tableau comme suit:

 var place: areas 


func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) { 
    place = filteredareas[indexPath.row] 
} 

donc chaque fois que vous cliquez sur tableview cellule la méthode déléguée ci-dessus sera appelée & la variable appropriée sera stockée en place selon indexPath.row