У меня есть два контроллера вида, они встроены в NavigationController. Первый контроллер представления содержит табличное представление (заполненное списком строк). У меня есть еще один viewcontroller (который я назвал detailViewController), который должен появляться при нажатии в строке таблицы. Он должен отображать некоторые детали о выбранной строке, я назвал этот «id» в коде ниже. Я должен передать данные между этими двумя контроллерами представления, когда я выполняю переход. Итак, сначала мне нужна следующая функция
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
id = listOfIds[indexPath.row]
performSegue(withIdentifier: "segue", sender: self)
}
Теперь, прежде чем мы начнем sege, я вызываю функцию подготовки к segue
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
let detailview = segue.destination as! detailViewController
detailview.id = id
}
Когда я запускаю приложение, я получаю сообщение об ошибке
Could not cast value of type 'UINavigationController' (0x10e360420) to 'MainApp.detailViewController'
Эта часть кода находится внутри большого приложения, над которым я работаю. Поэтому я сделал другое маленькое приложение, в котором я пытался сделать то же самое, и там оно работало как шарм. Я не вижу, как это не работает в этом случае. В чем может быть причина, чтобы я мог отладить его?