美文网首页
swift两种方式实现单例

swift两种方式实现单例

作者: 龙城九哥 | 来源:发表于2015-09-15 13:03 被阅读89次

    在swift中有两种方法可以实现单例模式。

    一、使用dispatch_once ,代码如下:

    class Singleton: NSObject {
        static var once_t : dispatch_once_t = 0
        static var instance : Singleton?
        class func sharedObject() -> Singleton{
        dispatch_once(&once_t) { () -> Void in
       instance = Singleton()
       }
        return instance!
       }
    }
    

    二、利用let只能赋值一次的特性

    • 说明:switf保证赋值的多线程安全性
    • 代码如下:
    class SingletonEx:NSObject{
        static let instance = SingletonEx()
        class func sharedObject() -> SingletonEx{
            return instance
        }
    }
    

    相关文章

      网友评论

          本文标题:swift两种方式实现单例

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