使用GCD的dispatch_once创建单例

之前一篇《探究Object-c中的单例模式中的allocWithZone作用的实践》

http://my.oschina.net/u/874588/blog/101486

介绍了创建单例的方式,不过后来发现其实在ios 4.0后有更加简单的方式。

就是使用GCD的功能

代码如下:

+ (instantClass *)sharedClient {

static instantClass *_sharedClient = nil;

static dispatch_once_t onceToken;

dispatch_once(&onceToken, ^{

_sharedClient = [[instantClass allocinit];

});

return _sharedClient;

}

你可能感兴趣的:(使用GCD的dispatch_once创建单例)