Swift单例的写法
来源:互联网 发布:数据架构管理流程图 编辑:程序博客网 时间:2024/05/16 12:06
1.OC单例写法
我们知道在Objective-C中我们经常这样去写单例
@implementation SXDataManagerstatic SXDataManager *sharedInstance = nil;+ (SXDataManager*)sharedInstance{ static dispatch_once_t once; dispatch_once(&once, ^{ sharedInstance = [[self alloc] init]; }); return sharedInstance;}@end
2.Swift单例写法
而在Swift中我们经常这样去写单例
class SXDataManager : NSObject { class var sharedInstance: SXDataManager { struct Static { static var instance: SXDataManager? static var token: dispatch_once_t = 0 } dispatch_once(&Static.token) { Static.instance = SXDataManager() } return Static.instance! }}
(2)关于dispatch_once_t is unavailable in Swift的解决
当你在Xcode中遇到以下问题时
我们进入到官方api,会发现以下注释
这说明我们的swift3中已经不再适用dispatch_once_t.我们可以用以下的方式创建单例来解决
class SXDataManager : NSObject { static let sharedInstance = SXDataManager()}
我们为什么能直接用static let
苹果其实已经在static let
修饰变量的实现中使用了dispatch_once的方式保证了变量只存在一份。这样我们写单例的方式是不是比以前更简洁了呢。
0 0
- Swift单例的写法
- swift 单例的写法
- Swift单例的写法
- swift 单例写法
- Swift的单例模式写法
- [Swift]swift单例模式的三种写法
- Swift单例写法(推荐)
- Swift中闭包,懒加载,单例的写法区别
- Java/Swift 单例模式的多种写法
- Swift中的单例的一种简单写法
- Swift多种实现单例写法
- swift 单例模式正确写法
- ios-Swift中的单例写法
- 单例的写法
- 单例的写法
- 单例的写法
- 单例的写法
- ios 单例的写法
- React Native 集成Android原生应用:Didn't find class "com.facebook.jni.IteratorHelper"
- UITableView 应用(三)UITableViewDelegate 方法总结
- 程序的链接和装入及Linux下动态链接的实现
- 享元模式
- 华为上机题汇总(四)
- Swift单例的写法
- Android逆向分析之Cydia
- DirectShow之接口实战篇_多媒体播放器
- C标签和s标签的对比,特别是里面的if判断条件的写法
- UVA11464 Even Parity (局部枚举定全局枚举)
- linux shell脚本编程
- HTML5-手勢
- yun2win发布即时通讯云IM,做最安全的即时通讯云!
- 杭电 hdu1251 统计难题 字典树