2016-01-24 75 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

相關問題