输入属性

类型属性是类型本身的属性,而不是实例上的属性。它们既可以是存储也可以是计算属性。使用 static 声明一个 type 属性:

struct Dog {
    static var noise = "Bark!"
}

print(Dog.noise) // Prints "Bark!"

在类中,你可以使用 class 关键字而不是 static 来使其可覆盖。但是,你只能将其应用于计算属性:

class Animal {
    class var noise: String {
        return "Animal noise!"
    }
}
class Pig: Animal {
    override class var noise: String {
        return "Oink oink!"
    }
}

这通常与单例模式一起使用