iOS_单例模式

  • 基本模式创建单例
static HttpUtils *manger = nil;  

+ (HttpUtils *)shareInstance {  
       if (!manger) manger = [[self allocWithZone:NULL] init];  
return manger;  
}
  • GCD 创建单例
  1. 线程安全。
  2. 满足静态分析器的要求。
  3. 兼容了ARC
+ (HttpUtils *)shareInstance
{
static HttpUtils *manger = nil;
static dispatch_once_t predicate;
dispatch_once(&predicate, ^{
    manger = [[self alloc] init];
});
return manger;
}

你可能感兴趣的:(iOS_单例模式)