oc的ARC单例简单实现
2016-07-20 本文已影响27人
JosephCheng
static id instance; 利用dispatch_once一次性执行
+(instancetype)shared##name{
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
instance = [[self alloc] init];
});
return instance;
}
或者 利用同步锁
+(instancetype)sharedPersonSync{
static id instance;
@synchronized(self) {
if(instance == nil){
instance = [[self alloc] init];
}
}
return instance;
}