美文网首页
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