而在Swift中我们通过清晰的语法便能定义类变量:
通过static定义的类变量无法在子类重写,通过class定义的类变量则可在子类重写。
struct SomeStructure { static var storedTypeProperty = "Some value." static var computedTypeProperty: Int { return 1 } class var overrideableComputedTypeProperty: Int { return 107 } }
同时利用类变量我们也有了更优雅的单例模式实现:
class singletonClass { static let sharedInstance = singletonClass() private init() {} // 这就阻止其他对象使用这个类的默认的'()'初始化方法 }