如何在Swift 3中覆盖layerClass? [英] How do you override layerClass in swift 3?
问题描述
我正在尝试在swift 3中覆盖方法layerClass()
,但出现错误Method does not override any method from its superclass
.
在Swift 2.x中,我这样做的是,有人知道新的语法吗?
I'm trying to override the method layerClass()
in swift 3 but I'm getting the error Method does not override any method from its superclass
.
In swift 2.x I was doing like this, does anyone know the new syntax?
override func layerClass() -> AnyClass { return CAGradientLayer.self }
推荐答案
请检查最新参考当您找到Method does not override any method from its superclass
的代码在以前的Xcode/Swift版本中可用时.
Please check the latest reference when you find Method does not override any method from its superclass
with code which worked in former versions of Xcode/Swift.
声明
class var layerClass: AnyClass { get }
layerClass
现在作为Swift中的计算类属性导入.
layerClass
is now imported as a computed class property in Swift.
因此,您需要像这样覆盖它:
So, you need to override it like this:
override class var layerClass: AnyClass {
return CAGradientLayer.self
}
这篇关于如何在Swift 3中覆盖layerClass?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!