Не удалось преобразовать значение типа ‘UITableViewCell’ (0x107ca3278) в ‘UITableView’ (0x107c9c518)

#ios #uitableview #swift3

#iOS #uitableview uitableview #swift3

Вопрос:

У меня также есть ячейка регистрации, но она не выполнила переход таким образом, вот где я получаю ошибку :

 override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
    // Get the new view controller using segue.destinationViewController.
    // Pass the selected object to the new view controller.


    if segue.identifier == "showDetail" {
        let sender = sender as! UITableView . //error
        let destController = segue.destination as! HekDetailTableViewController
        let indexPath = sender.indexPathForSelectedRow!



            destController.iD = idArray[indexPath.row]

        }

}
 

Комментарии:

1. Опечатка: отправитель UITableViewCell . Сообщение об ошибке означает буквально: я ожидаю тип ‘UITableViewCell’, но вы даете мне ‘UITableView’.

2. когда я меняю его, он выдает мне: Значение типа ‘UITableViewCell’ не имеет элемента ‘indexPathForSelectedRow’ в следующей строке

3. Используйте свойство TableView let indexPath = tableView.indexPathForSelectedRow! , отправитель тогда не нужен

4. это дает мне: не удалось преобразовать значение типа ‘UITableViewController’ (0x10b1c35d8) в ‘ETKA. HekDetailTableViewController’ (0x10825f480).

5. Это другой вопрос. Установлен ли класс целевого контроллера HekDetailTableViewController в Interface Builder?