单例宏定义的写法

 1 // 单例的声明
 2 // ## 拼接
 3 // \回车 换行
 4 #define singleton_interface(className) \
 5 + (instancetype)shared##className;
 6 
 7 // 单例实现
 8 #define singleton_implementation(className) \
 9 static className *manager = nil; \
10 + (instancetype)shared##className { \
11 static dispatch_once_t onceToken; \
12 dispatch_once(&onceToken, ^{ \
13 manager = [[[self class] alloc] init]; \
14 }); \
15 return manager; \
16 }

 

posted @ 2016-06-13 18:39  雷坤  阅读(195)  评论(0编辑  收藏  举报