Проверьте делегата UITableView и убедитесь, что вы устанавливаете свой переход на «Представлять модально или показывать» и:
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if segue.identifier == "showDetails" {
let destination = segue.destination as! DetailsViewController
let indexPath = tableView.indexPathForSelectedRow!
destination.rideIndex = indexPath.row
}
}
Но лично я предпочитаю следующий код для открытия UIViewController:
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
let mainStoryboard:UIStoryboard = UIStoryboard(name: "Main", bundle: nil)
let destination = mainStoryboard.instantiateViewController(withIdentifier: "DetailsViewController") as! DetailsViewController
let indexPath = tableView.indexPathForSelectedRow!
destination.rideIndex = indexPath.row
self.present(destination, animated: true, completion: nil)
}
и убедитесь, что ваш DetailsViewController имеет идентификатор «DetailsViewController»