博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Swift之单例模式
阅读量:4991 次
发布时间:2019-06-12

本文共 1033 字,大约阅读时间需要 3 分钟。

三种Swift实现单例模式的方法:全局变量,内部变量,dispatch_once方式

1. 全局变量

private let _singleton = Singleton()  class Singleton: NSObject {      class var sharedInstance: Singleton {          get {              return _singleton          }      }  }

  

2. 内部变量

class Singleton {      class var sharedInstance: Singleton {          get {              struct SingletonStruct {                  static let singleton: Singleton = Singleton()              }               return SingletonStruct.singleton          }      }  }

  

3. dispatch_once方式

class Singleton {      class var sharedInstance: Singleton {          get {              struct SingletonStruct {                  static var onceToken:dispatch_once_t = 0                  static var singleton: Singleton? = nil              }              dispatch_once(&SingletonStruct.onceToken, { () -> Void in                  SingletonStruct.singleton = Singleton()              })              return SingletonStruct.singleton!          }      }  }

  

转载于:https://www.cnblogs.com/xiaohuzi1990/p/4560614.html

你可能感兴趣的文章
《Java源码解析》之NIO的Selector机制(Part1:Selector.open())
查看>>
webpack安装问题
查看>>
Qt学习记录--Qt::CaseSensitive
查看>>
你的灯还亮着吗阅读笔记之一
查看>>
python介绍
查看>>
Unity-Editor按钮和菜单显示
查看>>
SharePoint InfoPath 保存无法发布问题
查看>>
word2vec:主要概念和流程
查看>>
Java - MyBites 逆向工程
查看>>
104. Maximum Depth of Binary Tree
查看>>
Python--变量作用域
查看>>
2017-2018-1 20155235 《信息安全系统设计基础》第九周学习总结
查看>>
!!和??
查看>>
matlab演奏卡农 Cripple Pachebel's Canon on Matlab
查看>>
apache的MPM机制-prefork
查看>>
js的一些实用的小技巧
查看>>
vue-cli中理不清的assetsSubDirectory 和 assetsPublicPath
查看>>
iOS的UILabel设置居上对齐,居中对齐,居下对齐
查看>>
最流行的android组件大全
查看>>
【Android自定义控件】支持多层嵌套RadioButton的RadioGroup
查看>>