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