Swift定义单例

而在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() {} // 这就阻止其他对象使用这个类的默认的'()'初始化方法
}
原文地址:https://www.cnblogs.com/songxing10000/p/4822328.html