致命错误:在展开可选值(lldb)时意外发现nil

时间:2016-01-24 00:37:30

标签: ios swift error-handling

我在解包时遇到问题而不理解这个错误:

fatal error: unexpectedly found nil while unwrapping an Optional value (lldb)`. 

我找到的所有东西都帮助了我。在第一个ViewController中我有这个代码

var everypicture = [EveryPicture] ()

我将第一个ViewController的委托呈现给SecondViewController:

var delegate: FirstViewController?` 
在Segue中。然后我从代表那里得到每张照片并得到计数:

let piccount = delegate?.everypicture.count
print("\(piccount!)")` 

但它出现了错误。是什么让我错了,错误是什么意思?谢谢你的帮助

2 个答案:

答案 0 :(得分:2)

因此我理解错误消息说当它试图解开一些值时它得到了nil对象。展开操作 - 从可选值获取实际值。在您发布的代码中,我只能看到此操作

let pic count = delegate?.everypicture.count

因此picccount变量为nil且使用运算符“!”你试图解开它,说“男人不是零,请确定”,但确实如此。

要找到问题集停止执行的位置,请执行此行

int[] []x[];

并检查是否:

1)委托是nil

2)数组是零(它不应该但仍然不是很难检查)

希望它有所帮助。

答案 1 :(得分:0)

看起来您永远不会为delegate分配值。您只是将其类型定义为FirstViewController?。您需要分配该类的实例。 piccount成为可选项,因为delegate本身是可选的。强制解包piccount不正确(因为delegate为零);请改用if let