在iOS开发中单例的创建的两种方式
1.
static Singleton * s =nil;//(静态区)
+(Singleton*)shareInstance
{
//加锁保证同一时间,只有一个线程对象可以访问此资源,保证单例对象的唯一性
@synchronized(self){
if (s ==nil ) {
s = [[Singletonalloc]init];
}
returns;
}
}
2.通过gcd创建
staticdispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
Singleton * s = [[Singletonalloc]init];
});