你如何覆盖迅速的layerClass

在Objective-C中,我们使用这样做

+ (Class)layerClass { return [CAEAGLLayer class]; } 

显然这是行不通的:

 CAEAGLLayer.class() 

因为class是Swift中的一个关键字。 你如何在Swift中做到这一点?

改编自Apple的ListerKit示例代码:

 override class func layerClass() -> AnyClass { return CAEAGLLayer.self } 

Swift 3的更新:

 override class var layerClass: AnyClass { get { return CAGradientLayer.self } } 

在iOS 10中,这是一个计算属性而不是方法:

 override class var layerClass: AnyClass { get { return CAEAGLLayer.self } } 

Swift与Objective-C有很大的不同。 你可能想看看有关Metatypes的文档。

对于你的情况,我会尝试: CAEAGLLayer.self