我是程序员;您好程先生;叫我序员就好了iOS-swift寒哥管理的技术专题

Swift 实现单例模式Singleton pattern的三

2015-01-14  本文已影响153人  俊瑶先森
Global constant
let _SingletonSharedInstance = Singleton()
class Singleton  {
    class var sharedInstance : Singleton {
        return _SingletonSharedInstance
    }
}
Nested struct
class Singleton {
    class var sharedInstance : Singleton {
        struct Static {
            static let instance : Singleton = Singleton()
        }
        return Static.instance
    }
}
dispatch_once
class Singleton {
    class var sharedInstance : Singleton {
        struct Static {
            static var onceToken : dispatch_once_t = 0
            static var instance : Singleton? = nil
        }
        dispatch_once(&Static.onceToken) {
            Static.instance = Singleton()
        }
        return Static.instance!
    }
}
上一篇 下一篇

猜你喜欢

热点阅读