单例初始化宏定义

1.创建.h文件...
2.
#define DEFINE_SINGLETON_FOR_HEADER(className)

+ (className *)shared##className;


#define DEFINE_SINGLETON_FOR_CLASS(className)

+ (className *)shared##className {
static className *shared##className = nil;
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
shared##className = [[self alloc] init];
});
return shared##className;
}
原文地址:https://www.cnblogs.com/tian-sun/p/5019819.html