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;
}

上一篇下一篇

猜你喜欢

热点阅读