我有两个视图控制器,它们嵌入在NavigationController中。第一个视图控制器包含一个tableview(由字符串列表填充)。我还有一个viewcontroller(我称为detailViewController),在点击表的一行时必须显示它。它应该显示有关所选行的一些详细信息,我在下面的代码中将其称为“ id”。我执行segue时,必须在这两个视图控制器之间传递数据。所以首先我需要以下功能
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
id = listOfIds[indexPath.row]
performSegue(withIdentifier: "segue", sender: self)
}
现在在执行segue之前,我先调用prepare for 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'
这部分代码在我正在处理的更大的应用程序中。因此,我制作了一个不同的小型应用程序,尝试在其中做同样的事情,并且在那里发挥了作用。我看不到在这种情况下它怎么不起作用。可能是什么原因导致我可以对其进行调试?