2017-10-21 95 views
0

我已經是新的Swift。我在模擬器中運行應用程序。我有書籍列表,當我點擊其中的一本書時,應用程序會顯示有關選定書籍的詳細信息。當我點擊「編輯書籍」時,改變一些細節並點擊「保存書籍」它暫停在線73致命錯誤:意外地發現零,同時展開一個可選值 - 委託

哪裏錯了?爲什麼代表是「無」?謝謝。

enter image description here

創建協議,並宣佈「委託外地如下:

enter image description here

在DetailViewController,我設置控制器委託如下:enter image description here

+0

您沒有將委託給任何人。 – dirtydanee

+0

向我們展示你在哪裏設置代表... – Ladislav

+0

@Ladislav我編輯問題。 –

回答

2

首先,確保你實現object.delegate = self您想要符合代表的類。

另外,我建議你通過委託來實現該方法調用:

delegate?.editBook(self, editBook: book) 

它這種情況下,如果delegate由於某些原因nil,而不是崩潰,會發生什麼。

此外,您可能需要檢查this answer以確保您已設置代理人,因爲它應該(可能是您錯過了提到的答案的第三步)。

+0

感謝您的答覆。我按照你的建議去做,它的工作原理。但是很難理解什麼和爲什麼? –

+0

很高興幫助。你檢查了我提到的答案嗎? –

相關問題