如何在Swift 3中覆盖layerClass? [英] How do you override layerClass in swift 3?

查看:400
本文介绍了如何在Swift 3中覆盖layerClass?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试在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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆