Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How do you override layerClass in swift 3?

Tags:

swift3

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 }
like image 294
Ramon Vasconcelos Avatar asked Aug 22 '16 13:08

Ramon Vasconcelos


1 Answers

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.

Declaration

class var layerClass: AnyClass { get }

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
}
like image 71
OOPer Avatar answered Sep 28 '22 01:09

OOPer