NSObject -> () -> **ViewController 类型的值不符合指定类型 ***Delegate

Value of type NSObject -> () -> **ViewController does not conform to specified type ***Delegate

我收到以下错误:

我的协议如下所示:

protocol RecorderDelegate {

  func finishedRecordingWithUrl(URL: NSURL)
}

有人可以解释为什么 self 看起来不符合协议吗?

在您设置self作为参考时,self不存在。稍后尝试设置它,比如说 viewDidLoad 或使其变得懒惰。

顺便说一句,使对委托的引用变弱,否则您将创建引用循环,并且您的视图控制器实例永远不会解除分配,并且会造成内存泄漏。