你如何覆盖swift 3中的layerClass?

Ram*_*los 10 swift3

我试图layerClass()在swift 3中覆盖该方法,但我收到了错误Method does not override any method from its superclass.在swift 2.x中,我这样做,是否有人知道新语法?

override func layerClass() -> AnyClass { return CAGradientLayer.self }
Run Code Online (Sandbox Code Playgroud)

OOP*_*Per 43

当您找到适用于以前版本的Xcode/Swift的代码时,请检查最新的参考Method does not override any method from its superclass.

宣言

class var layerClass: AnyClass { get }
Run Code Online (Sandbox Code Playgroud)

layerClass 现在作为Swift中的计算类属性导入.

所以,你需要像这样覆盖它:

override class var layerClass: AnyClass {
    return CAGradientLayer.self
}
Run Code Online (Sandbox Code Playgroud)