iOS中的单例写法

2017-05-02  本文已影响6人  猪猪行天下
#pragma mark 单例方法
static AClass *instance = nil;

+(AClass *)shareInstance
{
    @synchronized(self){
        if (instance == nil) {
            instance = [[AClass alloc] init];
        }
    }
    return instance;
}

另一种使用GCD:

static AClass *instance = nil;

+(instancetype)shareIntance
{
  static dispatch_once_t onceToken;
  dispatch_once(&onceToken, ^{
      instance = [[AClass alloc]init];
  });
  return instance;
}
上一篇 下一篇

猜你喜欢

热点阅读