我正在尝试将默认实现添加到我的委托方法之一。但是,在添加了默认实现并从实现协议的类中删除了该方法之后,我得到了does not conform to protocol错误。它在操场上工作。

protocol NavigationDelegate: NSObjectProtocol {
    func didSetToolbarVisible(_ isVisible: Bool)
}
extension NavigationDelegate {
    func didSetToolbarVisible(_ isVisible: Bool) {
        print("Default implementation")
    }
}
class MyViewController: NavigationDelegate {
    // 'does not conform to protocol' error
}

我错过了什么?

最佳答案

默认情况下,类不符合NSObjectProtocol,这会导致错误。
改变

protocol NavigationDelegate: NSObjectProtocol


protocol NavigationDelegate: class

10-08 05:53