美文网首页
swift 单例

swift 单例

作者: 嘿_小小小 | 来源:发表于2018-05-25 13:53 被阅读13次

OC 我们都是用 dispatch_one来创建单例
在swift早期版本,Swift用dispatch_one机制在后台支持线程安全的全局lazy初始化和静态属性。static var在背后已经在使用dispatch_once了,所以从Swift 3开始,就干脆把dispatch_once显式的取消了。
swift单例使用更简单了

final class HttpManager: NSObject{
 class func sharedInstance() -> HttpManager {
     struct Static {
         static let instance = HttpManager()
     }
     return Static.instance
  }
  private override init() {
        super.init()
  }
}

  • 使用final 修饰class,将这个单例类不能被继承
  • 设置初始化方法为私有,避免外部对象通过访问init方法创建单例类的实例

相关文章

网友评论

      本文标题:swift 单例

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