我发现了一些关于同一主题的其他问题,所以这在技术上是一个转贴,但是那里提供的解决方案根本没有帮助我。已建议的解决方案似乎适用于其他用户,已存在于我的代码中。
以下是导致我出现问题的代码。
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还没有实例化,因为它现在已经深入了两层。但如果是这样的话,我不知道为什么它似乎在为其他人工作。
答案 0 :(得分:2)
我有一个与导航控制器相对应的表视图,然后将其转移到我自己的自定义视图控制器。
我相信这是你的问题。从导航控制器到详细视图控制器的连接不是正常的segue。它应该是一种关系论证。
单击导航控制器和详细信息视图控制器之间的连接。按删除。
控制 -drag从导航控制器到详细视图控制器,然后从弹出窗口中选择根视图控制器。
现在navView.topViewController
将是非零的。