iOS 创建单例

来源:互联网 发布:交大网络大学 编辑:程序博客网 时间:2024/05/13 01:42

创建 SingleModel 类,第一种是用Grand Central Dispatch创建比较常用

//GCD创建
+(instancetype)shareSingleModel
{
   
   
   
static SingleModel *single =nil;
   
   
static dispatch_once_t onceToken;
   
dispatch_once(&onceToken, ^{
       
        single = [[
SingleModelalloc]init];
       
    });
   
   
   
return single;
   
   
}
 
 第二种是简单的加锁
//加锁加锁
+(
instancetype)shareSingleTwo
{
   
static SingleModel *single =nil;
   
   
@synchronized(self)  {
       
       
if(single == nil)  {
           
            single = [[
SingleModelalloc]init];
           
        }
       
    }
   
   
return single;
}
0 0