swift两种方式实现单例

在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
    }
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 尽管 Grand Central Dispatch (GCD)已经存在一段时间了,但并非每个人都知道怎么使用它。这...
    coderFamer阅读 7,449评论 1 16
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 12,261评论 4 61
  • Swift 介绍 简介 Swift 语言由苹果公司在 2014 年推出,用来撰写 OS X 和 iOS 应用程序 ...
    大L君阅读 3,306评论 3 25
  • *面试心声:其实这些题本人都没怎么背,但是在上海 两周半 面了大约10家 收到差不多3个offer,总结起来就是把...
    Dove_iOS阅读 27,219评论 30 472
  • 李冬香(男,1965年7月生。江西吉安人。博士(后。)。教授,博士生导师。现任中宣部思想政治工作研究所研究员、副所...
    转发件阅读 694评论 0 0