web-dev-qa-db-fra.com

Est-ce que Swift a des variables statiques au niveau classe?

Comment déclarer une constante statique dans l'étendue de la classe? tel que

class let Constant: Double = 3.1415926
// I know that in class we use class modifier instead of static.
46
tounaobun

Swift prend en charge les propriétés de type statique, y compris sur les classes, à partir de Swift 1.2:

class MyClass {
    static let pi = 3.1415926
}

Si vous devez avoir une variable de classe qui peut être remplacée dans une sous-classe, vous devez utiliser une propriété de classe calculée:

class MyClass {
    class var pi: Double { return 3.1415926 }
}

class IndianaClass : MyClass {
    override class var pi: Double { return 4 / (5 / 4) }
}
116
Nate Cook