Swift 实现单例模式Singleton pattern的三

作者: 俊瑶先森 | 来源:发表于2015-01-14 04:13 被阅读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!
    }
}

相关文章

网友评论

    本文标题: Swift 实现单例模式Singleton pattern的三

    本文链接:https://www.haomeiwen.com/subject/rxtcxttx.html