美文网首页
[Swift基础语法入门]代码讲解何为单例

[Swift基础语法入门]代码讲解何为单例

作者: NinthDay | 来源:发表于2016-02-12 16:43 被阅读174次

Method 1

class DemoClass{
    //1
    class var sharedInstance:DemoClass{
        //2
        struct Static {
            static var onceToken:dispatch_once_t = 0
            static var instance:DemoClass? = nil
        }
        //3
        dispatch_once(&Static.onceToken){
            // 4
            Static.instance = DemoClass()
        }
        return Static.instance!
    }
}

Method 2

// 方法二
class DemoClass2{
    //1
    class var sharedInstance:DemoClass2{
        //2
        struct Static {
            static let instance = DemoClass2()
        }
        //3
        return Static.instance
    }
}

Method 3

// 方法三
class DemoClass3{
    class var sharedInstance:DemoClass3{
        return sharedInstance3
    }
}
private let sharedInstance3 = DemoClass3()

Method 4

class DemoClass4{
    static let sharedInstance = DemoClass4()
}

参考

THE RIGHT WAY TO WRITE A SINGLETON
Swift Singleton Design Pattern

相关文章

网友评论

      本文标题:[Swift基础语法入门]代码讲解何为单例

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