GCD实现单例模式
来源:互联网 发布:kali网络摄像头 编辑:程序博客网 时间:2024/06/06 02:04
单例模式 :其实就是一种设计模式。
适用场合:单例模式一般会在整个应用程序中,共享一份资源(这份资源只需要创建初始化1次)的时候使用。
我们以创建数据库管理类为例结合代码:
#import "DataBase.h"
static DataBase *_dataBase =nil;
@interface DataBase ()<NSCopying>{
FMDatabase *_dbManager;
}
@end
@implementation DataBase
//GCD 单例
//这个方法服务于alloc无论外界调用多少次alloc返回的都是一个内存空间
+(instancetype)allocWithZone:(struct_NSZone *)zone{
staticdispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
_dataBase = [superallocWithZone:zone];
});
return_dataBase;
}
//共享方法,便于外界调用
//但是避免不了外界init多次,所以要带入init,这里的alloc会调用上面的方法
+(instancetype)sharedDBManager{
staticdispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
_dataBase = [[DataBasealloc]init];
});
return_dataBase;
}
//这个方法避免外界实现copy方法(这里要遵循NSCopying协议)
-(id)copyWithZone:(NSZone *)zone{
return_dataBase;
}
- GCD实现单例模式
- gcd实现单例模式其一
- ios--GCD实现单例模式
- GCD---dispatch_once实现单例模式
- iOS--使用GCD实现单例模式
- 单例模式2-GCD实现单例模式
- ios开发单例模式——使用GCD实现单例模式 & 非ARC单例模式 &使用GCD和线程锁实现单例模式
- 多线程学习12-GCD实现单例模式
- ios-UI高级多线程 GCD实现单例模式
- Objective-C利用GCD技术实现单例模式
- ios GCD 创建单例模式
- 非ARC情况下---用GCD实现单例模式
- ios-单例模式饿汉式&GCD&懒汉式&宏方式的实现和条件编译
- GCD—互斥锁实现单例
- ios单例GCD实现方法
- GCD单例,完整的单例实现
- 单例模式实现
- 单例模式实现
- butterknife使用
- Java高级特性之XML
- JS基本语法+实例
- mysql中的NULL记录和空值有什么区别
- NLP学习(正则化)
- GCD实现单例模式
- 浅谈 java /Android设计模式--代理模式(Proxy pattern)
- jQuery的函数
- React Native开发之windows开发环境最简配置
- C# 如何将Excel表格复制到Word中并保留格式
- linux环境变量自定义环境变量
- easyui 的脚本引用
- 数值的整数次方
- LeetCode459 Repeated Substring Pattern java solution