je me demandais simplement comment j'allais implémenter didSelectRowAtIndexPath ou quelque chose de similaire dans mon application. J'ai une vue de tableau remplie avec plusieurs cellules dynamiques et, fondamentalement, je veux changer de vue une fois qu'une certaine cellule est sélectionnée.
Je peux me débrouiller dans Obj-C, mais il n'y a rien sur google pour m'aider avec Swift! Toute aide serait appréciée car j'apprends encore
Vous pouvez utiliser didSelectRowAtIndexPath
dans Swift.
func tableView(tableView: UITableView!, didSelectRowAtIndexPath indexPath: NSIndexPath!) {
NSLog("You selected cell number: \(indexPath.row)!")
self.performSegueWithIdentifier("yourIdentifier", sender: self)
}
Pour Swift 3 c'est
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
NSLog("You selected cell number: \(indexPath.row)!")
self.performSegueWithIdentifier("yourIdentifier", sender: self)
}
Assurez-vous simplement d'implémenter le UITableViewDelegate
.
C'est ainsi que j'ai réussi à passer des cellules UITableView à d'autres contrôleurs de vue après avoir implémenté cellForRow, numberOfRowsInSection & numberOfSectionsInTable.
//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)
}
}
Sortira: You selected cell number: \(indexPath.row)!
N'oubliez pas de faire correspondre l'identifiant de votre séquence dans le story-board à l'identifiant de la fonction, par exemple goToMainUI
.