swift - 无法将“UINavigationController”(0x10e360420)类型的值转换为“MainApp.detailViewController”
问题描述
我有两个视图控制器,它们嵌入在 NavigationController 中。第一个视图控制器包含一个表视图(填充了字符串列表)。我还有一个视图控制器(我称之为 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'
这部分代码在我正在处理的更大的应用程序中。所以我做了一个不同的小应用程序,我尝试做同样的事情,它就像一个魅力。我看不出在这种情况下它是如何不起作用的。可能是什么原因,所以我可以调试它?
解决方案
推荐阅读
- python-3.x - 有没有办法在不使用熊猫的情况下将 .html 文件(制表符分隔的文本文件)转换为 csv
- java - 为单例实现equals和hashcode?
- python - 在python中有效地从20000行的csv文件中找到最大相关值
- python - 将 scapy 的“IP”类型转换为“字节”
- python - 将 python 数据导出/转换/生成到 Perl 哈希
- javascript - 使用多项选择 select2 选择后立即显示选择的选项数量
- react-native - 是否可以从位置授权请求中删除“允许一次”?
- python - 数组最后维度的索引
- c++ - 接受字符串输入并在 C++ 中打印?
- c# - 如何在 Razor Pages 的 url 中将用户名作为参数传递?