创建 SingleModel 类,第一种是用Grand Central Dispatch创建比较常用
//GCD
创建
+(
instancetype
)shareSingleModel
{
static SingleModel *single = nil ;
static dispatch_once_t onceToken;
dispatch_once (&onceToken, ^{
single = [[ SingleModel alloc ] init ];
});
return single;
}
{
static SingleModel *single = nil ;
static dispatch_once_t onceToken;
dispatch_once (&onceToken, ^{
single = [[ SingleModel alloc ] init ];
});
return single;
}
第二种是简单的加锁
// 加锁加锁
+( instancetype )shareSingleTwo
{
static SingleModel *single = nil ;
@synchronized ( self ) {
if (single == nil ) {
single = [[ SingleModel alloc ] init ];
}
}
return single;
// 加锁加锁
+( instancetype )shareSingleTwo
{
static SingleModel *single = nil ;
@synchronized ( self ) {
if (single == nil ) {
single = [[ SingleModel alloc ] init ];
}
}
return single;
}