1. 程式人生 > >使用GCD的dispatch_once建立單例

使用GCD的dispatch_once建立單例

專案中考慮到一些公共方法的封裝使用,難免要建立單例模式。一般建立單例模式是重寫allocWithZone方法,但在ios 4.0後有更加簡單的方式。 

就是使用GCD的功能 

程式碼如下: 

+ (instantClass *)sharedNetworkTool {

static instantClass *networkToolnil

static dispatch_once_t onceToken; 

dispatch_once(&onceToken, ^{ 

networkTool = [[instantClass allocinit]; 

}); 

return networkTool

}