什么是单例,单例的目的?
当一个类只有一个实例的时候需要使用单例,也就是说这个类只有一个对象,这个对象在程序运行过程中不能被释放,可以用来记录数据,传值.
单例书写格式
普通写法
+ (DataHandle *)shareHandle{
static DataHandle *dataHandle = nil;
if(dataHandle == nil){
dataHandle = [[DataHandle alloc]init];
}
return dataHandle;
}
GCD写法
+ (DataHandle *)shareHandle{
static DataHandle *dataHandle = nil;
static dispath_once onceToken;//加锁
dispath_once(&onceToken,^{
dataHandle = [[DataHandle alloc]init];
})
return dataHandle;
}