2017-10-21 121 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

很高兴帮助。你检查了我提到的答案吗? –

相关问题