对比Swift和Objective_C中单例的写法
来源:互联网 发布:淘宝哪个祛痘产品好 编辑:程序博客网 时间:2024/05/03 00:22
创建一个NetWorkTools的类
Objective_C:
NetWorkTools.h中
+ (instancetype)shareNetWorkTools;
NetWorkTools.m中
+ (instancetype)shareNetWorkTools{ static id instance; static dispatch_once_t onceToken; // onceToken默认等于0, 如果是0就会执行block, 如果不是0就不会执行 dispatch_once(&onceToken, ^{ instance = [[self alloc] init]; }); return instance;}
Swift:
传统写法
// 在Swift中, 类方法中是不允许定义静态变量的 static var once_t: dispatch_once_t = 0 static var instance: NetWorkTools? // 用于获取单例对象的类方法 class func shareNetWorkTools() -> NetWorkTools{ dispatch_once(&once_t) { () -> Void in instance = NetWorkTools() } return instance! }
简单写法
//Swift中的let是线程安全的,用到时才会创建static let instance: NetWorkTools = NetWorkTools()class func shareNetWorkTools() -> NetWorkTools { return instance}
0 0
- 对比Swift和Objective_C中单例的写法
- 对比分析Objective_C和Swift懒加载的区别
- Objective_c的分类和协议
- Objective_C语言 类的定义和实现
- 对比Swift和GlusterFS的读写性能
- ajax 的post和get写法和调用的对比
- cursor 的简单写法和官方文档对比
- objective_C中用@interface和 @property 方式声明变量的区别
- objective_C中@interface和 @property 方式声明变量的区别
- 用Objective_C / swift写一个QQ分组(展开收起)的效果(附DEMO)
- objective_c
- objective_c
- OC和Swift 定义属性的一些对比
- 对比swift、c#、java的getter和setter方法
- ios-Swift的只读属性和懒加载对比
- Swift单例的写法
- swift 单例的写法
- swift 属性的几个写法
- Spring Cache简介和使用
- Unix时间戳转换(python)
- CodeForces 219D Choosing Capital for Treeland(树形DP)
- codeforces_622D. Optimal Number Permutation(构造)
- [BZOJ3732]Network(kruskal+树上倍增)
- 对比Swift和Objective_C中单例的写法
- BZOJ 2599 IOI 2011 Race 点分治
- 腾讯2016实习生编程题蛇形矩阵打印
- JavaScript编写人机对战五子棋(五)
- 蛇形矩阵
- 在C++中调用DLL中的函数
- 腾讯笔试
- 解决Eclipse闪退
- 如何实现单例模式