设计模式 - 单例模式
变更记录
序号 | 录入时间 | 录入人 | 备注 |
---|---|---|---|
1 | 2015-03-02 | Alfred Jiang | - |
2 | 2015-12-23 | Alfred Jiang | - |
方案名称
设计模式 - 单例模式
关键字
设计模式 \ 单例 \ GCD \ dispatch_once \ 设计模式
需求场景
- 单例场景,如某个全局使用的管理类
参考链接
(无)
详细内容
Swift 解决方案
1
2
3
4
5
6
7
8
9
10class 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 解决方案
1
2
3
4
5
6
7
8
9
10
11+(DBManager *)sharedManager
{
static DBManager *sharedManager;
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
sharedManager = [[DBManager alloc] init];
});
return sharedManager;
}
效果图
(无)
备注
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 宁静至远,博雅多通!