Swift 继承重写extension方法

2021-08-18  本文已影响0人  _风雨

今天在继承重写extension的一个方法时报错

Overriding non-@objc declarations from extensions is not supported

谷歌了一圈发现没解决,和我的情况有点不一样

伪代码如下

protocol Delegate {
              func test()
}

class A: UIViewController {

}

extension A: Delegate {
                func test() {
              }
}

当B继承A时,extension B 重写 test()方法时,就出现了开头的报错,解决方式居然是在extension A 前面加上@objc就行了

如下

@objc extension A: Delegate {
                            func test()
}

class B: A {
}

extension B {
                 override func test() {
              }
}
上一篇 下一篇

猜你喜欢

热点阅读