IOS第二天多线程-04简化单例模式

时间:2015-09-09 17:16:16   收藏:0   阅读:293

******HMSingleton-ARC.h

// .h文件
#define HMSingletonH(name) + (instancetype)shared##name;

// .m文件
#define HMSingletonM(name) static id _instance;  + (id)allocWithZone:(struct _NSZone *)zone {     static dispatch_once_t onceToken;     dispatch_once(&onceToken, ^{         _instance = [super allocWithZone:zone];     });     return _instance; }  + (instancetype)shared##name {     static dispatch_once_t onceToken;     dispatch_once(&onceToken, ^{         _instance = [[self alloc] init];     });     return _instance; }  - (id)copyWithZone:(NSZone *)zone {     return _instance; } 

****.m的文件中

@implementation HMMovieTool
HMSingletonM(MovieTool)
@end

 

原文:http://www.cnblogs.com/ios-g/p/4795136.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!