Не удалось привести значение типа «UINavigationController» (0x10e360420) к «MainApp.detailViewController» - PullRequest
0 голосов
/ 02 сентября 2018

У меня есть два контроллера вида, они встроены в 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'

Эта часть кода находится внутри большого приложения, над которым я работаю. Поэтому я сделал другое маленькое приложение, в котором я пытался сделать то же самое, и там оно работало как шарм. Я не вижу, как это не работает в этом случае. В чем может быть причина, чтобы я мог отладить его?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...