我发现了一些关于同一主题的其他问题,所以从技术上讲,这是一个转贴,但是那里提供的解决方案根本没有帮助我。建议的解决方案似乎适用于其他用户,已经存在于我的代码中。
这是导致我出现问题的代码。
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject!) {
let navView = segue.destinationViewController as UINavigationController
let destinationView = navView.topViewController as DetailViewController
这是我得到的错误:
fatal error: unexpectedly found nil while unwrapping an Optional value
错误是在我访问navView.topViewController的错误上抛出的。
我有一个表视图连接到导航控制器,然后导航控制器连接到我自己的自定义视图控制器。我想将数据从表视图传递到我的自定义视图控制器。
在添加导航控制器之前,我今天早些时候让它工作正常,将数据直接从表视图传递到导航控制器。在两者之间添加导航控制器已经破坏了事情。
对于我为什么遇到此问题,有什么建议吗?我唯一能想到的是DetailViewController还没有实例化,因为它现在已经有两层深了。但如果是这样的话,我不知道为什么它似乎对其他人有用。
我有一个表视图连接到导航控制器,然后导航控制器连接到我自己的自定义视图控制器。
我相信这是你的问题。 从导航控制器到详细信息视图控制器的连接不是正常的 segue。 它应该是一个关系Segue。
-
单击导航控制器和详细信息视图控制器之间的连接。 按删除。
-
按住 Control 键从导航控制器拖动到详细信息视图控制器,然后从弹出窗口中选择根视图控制器。
现在navView.topViewController
将是非零的。