标签:style blog color ar sp div on log 代码
1 + (id)sharedWhatever 2 { 3 static dispatch_once_t pred; 4 static Whatever *whatever = nil; 5 dispatch_once(&pred, ^{ 6 whatever = [[self alloc] init]; 7 }); 8 return whatever; 9 }
该方法有很多优势:
1.线程安全
2.很好满足静态分析器要求
3.和自动引用计数(ARC)兼容
4.仅需要少量代码
该方法的劣势就是它仍然运行创建一个非共享的实例:
whatever = [[Whatever alloc] init];
有些时候你希望有这种行为,但如果正在想要的是仅一个实例被实例化就需要注意这点
标签:style blog color ar sp div on log 代码
原文地址:http://www.cnblogs.com/zw-h/p/4035021.html