致命错误:在展开Optional值时意外发现nil - 委托

时间:2017-10-21 09:41:00

标签: ios swift uiviewcontroller

我已经是Swift的新手了。我在模拟器中运行app。我有书籍清单,当我点击其中一个时,应用程序会显示有关所选书籍的详细信息。当我点击"编辑图书"时,更改一些细节,然后点击"保存图书"它在第73行暂停了

哪里出错?为什么代表是" nil"?感谢。

enter image description here

我创建协议并声明"委托字段如下:

enter image description here

在DetailViewController中,我按如下方式设置控制器委托:enter image description here

1 个答案:

答案 0 :(得分:2)

首先,确保在要与代理符合的类中实现object.delegate = self

另外,我建议将委托调用的方法实现为:

delegate?.editBook(self, editBook: book)

在这种情况下,如果delegate由于某种原因nil而不是崩溃,则不会发生任何事情。

此外,您可能需要检查this answer以确保您应该设置代理(可能是您错过了上述答案中的第三步)。