輸入屬性

型別屬性是型別本身的屬性,而不是例項上的屬性。它們既可以是儲存也可以是計算屬性。使用 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!"
    }
}

這通常與單例模式一起使用