学习笔记:GCD创建单粒

// GCD单粒
static WMObject *_instance;+ (instancetype)allocWithZone:(struct _NSZone *)zone{ static dispatch_once_t onceToken; dispatch_once(&onceToken, ^{ _instance = [super allocWithZone:zone]; }); return _instance;}+ (instancetype)sharedInstance{ static dispatch_once_t onceToken; dispatch_once(&onceToken, ^{ _instance = [[self alloc] init]; }); return _instance;}- (id)copyWithZone:(NSZone *)zone{ return _instance;}

你可能感兴趣的:(学习笔记:GCD创建单粒)