Как определить выбор ячейки в UITableView - Swift
просто интересно, как я буду заниматься внедрением didSelectRowAtIndexPath или что-то подобное в мое приложение.
У меня есть заполненный Table View с несколькими динамическими ячейками, и в основном я хочу изменить Views после выбора определенной ячейки.
Я могу обойти его в Obj-C, но в google нет ничего, чтобы помочь мне с Swift! Любая помощь будет оценена по мере того, как я все еще изучаю
Ответы
Ответ 1
Вы можете использовать didSelectRowAtIndexPath
в Swift.
func tableView(tableView: UITableView!, didSelectRowAtIndexPath indexPath: NSIndexPath!) {
NSLog("You selected cell number: \(indexPath.row)!")
self.performSegueWithIdentifier("yourIdentifier", sender: self)
}
Для Swift 3 это
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
NSLog("You selected cell number: \(indexPath.row)!")
self.performSegueWithIdentifier("yourIdentifier", sender: self)
}
Просто убедитесь, что вы реализуете UITableViewDelegate
.
Ответ 2
Вот как мне удалось переходить из ячеек UITableView в другие контроллеры представлений после реализации 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)
}
}
Выведет: You selected cell number: \(indexPath.row)!
Не забудьте сопоставить идентификатор вашего segue в панели рассказов с идентификатором в функции, например goToMainUI
.