变更记录
序号 | 录入时间 | 录入人 | 备注 |
---|---|---|---|
1 | 2015-03-02 | Alfred Jiang | - |
2 | 2015-12-23 | Alfred Jiang | - |
方案名称
设计模式 - 单例模式
关键字
设计模式 \ 单例 \ GCD \ dispatch_once \ 设计模式
需求场景
- 单例场景,如某个全局使用的管理类
参考链接
(无)
详细内容
Swift 解决方案
class var sharedInstance : SettingManager { struct Static { static var onceToken : dispatch_once_t = 0 static var instance : SettingManager? = nil } dispatch_once(&Static.onceToken) { Static.instance = SettingManager() } return Static.instance! }
Objective-C 解决方案
+(DBManager *)sharedManager { static DBManager *sharedManager; static dispatch_once_t onceToken; dispatch_once(&onceToken, ^{ sharedManager = [[DBManager alloc] init]; }); return sharedManager; }
效果图
(无)