2016-01-24 48 views
0

我有展开问题,不明白这个错误:致命错误:意外发现零而展开的可选值(LLDB)

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

一切,我已经找到帮我不能向前。在第一视图控制器我有此代码

var everypicture = [EveryPicture]() 

和我呈现第一视图控制器的代表到SecondViewController:在Segue公司

var delegate: FirstViewController?` 

。然后我得到代表的每张照片,并得到计数:

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

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

回答

2

所以据我所知,错误消息说,当它试图解开一些价值时它没有对象。解包操作 - 从可选值中获取真实值。在你贴我只能看到一次这样的操作代码

print("\(piccount!)") 

所以picccount变量是零和使用操作符“!”你试图解开它说:“不是零的人,确定”,但它是。

为了找到其中i问题设定停止执行OB此线

let pic count = delegate?.everypicture.count 

,并检查是否:

1)代表为nil

2)阵列是nil(它不应该但它仍然不是很难检查)

希望它有帮助。

+0

他的数组不能以它被声明的方式'nil'。它是空的或有价值的。最有可能的代表是零,他只是在没有阅读文档或做一个适当的教程的情况下尝试。 – Eendje

+0

我的委托人是零,但我在FirstViewController'override func prepareForSegue(segue:UIStoryboardSegue,sender:AnyObject?)的segue中呈现代理if if segue.identifier ==“EveryPhotoSegue”{var 0c = segue.destinationViewController as ! EverydayController vc.delegate = self}}'EverydayController是我的SecondViewController。 –

+0

现在它工作正常吗? – Volodymyr

0

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

相关问题