2015-02-10 10 views
14

frage mich nur, wie ich didSelectRowAtIndexPath oder etwas ähnliches in meine App implementieren würde. Ich habe eine befüllte Tabellenansicht mit mehreren dynamischen Zellen und grundsätzlich möchte ich Ansichten ändern, sobald eine bestimmte Zelle ausgewählt ist.So erkennen Sie die Zellenauswahl in UITableView - Swift

Ich bin in Obj-C, aber es gibt nichts auf Google, um mich mit Swift zu helfen! Jede mögliche Hilfe würde geschätzt werden, während ich noch lerne

Antwort

27

Sie können didSelectRowAtIndexPath in Swift verwenden.

func tableView(tableView: UITableView!, didSelectRowAtIndexPath indexPath: NSIndexPath!) { 
    NSLog("You selected cell number: \(indexPath.row)!") 
    self.performSegueWithIdentifier("yourIdentifier", sender: self) 
} 

Für Swift 3 es ist

func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { 
    NSLog("You selected cell number: \(indexPath.row)!") 
    self.performSegueWithIdentifier("yourIdentifier", sender: self) 
} 

So stellen Sie sicher, dass Sie die UITableViewDelegate implementieren.

+0

Vielen Dank! Google hat gar nicht, ich habe ewig gesucht und genauso lange versucht für mich selbst ... Dies stellt mich jedoch mit einem anderen Problem. Wie stelle ich sicher, dass jede einzelne Zelle einen anderen Übergang durchführt? – Alex

+0

Überprüfen Sie den indexPath.row. Es gibt Ihnen die Nummer der Reihe. Dann können Sie ein if-else verwenden. – Christian

+0

Super! Danke für die Hilfe, ich fange endlich an, Swift ein wenig besser zu verstehen :) – Alex

2

So gelang es mir, nach der Implementierung von CellForRow, numberOfRowsInSection & numberOfSectionsInTable, von UITableView-Zellen zu anderen View-Controllern zu wechseln.

//to grab a row, update your did select row at index path method to: 

func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { 
    NSLog("You selected cell number: \(indexPath.row)!"); 

    if indexPath.row == 1 { 
     //THE SEGUE 
     self.performSegue(withIdentifier: "goToMainUI", sender: self) 
    } 
} 

Will Ausgang: You selected cell number: \(indexPath.row)!

Denken Sie daran, die Kennung Ihres segue in Storyboard auf die Kennung in der Funktion entsprechen, z goToMainUI.

Verwandte Themen