#import "Demo.h"
static Demo *instance = nil;
@implementation Demo
//GCD方法创建单例
+(id)getDemo{
if (instance == nil) {
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
instance = [super alloc];
instance = [instance init];
});
}
return instance;
}
+(id)allocWithZone:(struct _NSZone *)zone
{
if (instance == nil) {
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
instance = [super allocWithZone:zone];
});
}
return instance;
}
-(id)copyWithZone:(struct _NSZone *)zone
{
Demo *laoluo = [[Demo alloc]init];
Demo.name = @"demo";
return demo;
}
@end
GCD创建单例的方法
最新推荐文章于 2017-08-23 15:52:15 发布