加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

swift-单例的三种写法

发布时间:2020-12-14 05:12:38 所属栏目:百科 来源:网络整理
导读:第一种,类常量 Class constant ,建议使用方式 支持懒加载,线程安全 class Singleton { static let sharedInstance = Singleton()} 第二种嵌套结构体变量格式 class Singleton { class var sharedInstance: Singleton { struct Static { static let instance:

第一种,类常量Class constant,建议使用方式

  • 支持懒加载,线程安全

    class Singleton  {
       static let sharedInstance = Singleton()
    }

第二种嵌套结构体变量格式

class Singleton {
    class var sharedInstance: Singleton {
        struct Static {
            static let instance: Singleton = Singleton()
        }
        return Static.instance
    }
}

第三种最不建议,但最像Oc的创建方式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!
    }
}

原文链接 https://stackoverflow.com/questions/24024549/using-a-dispatch-once-singleton-model-in-swift/24147830#24147830

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读