今天在继承重写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() {
}
}
网友评论