// cmd + n 新建Header File 文件名: Singleton.h // .h #define singleton_interface(className) + (instancetype)shared##className; // .m
// 注意:最后一句不要斜线 #define singleton_implementation(className) static className *_instace; + (id)allocWithZone:(struct _NSZone *)zone { static dispatch_once_t onceToken; dispatch_once(&onceToken, ^{ _instace = [super allocWithZone:zone]; }); return _instace; } + (instancetype)shared##className { if (_instace == nil) { _instace = [[className alloc] init]; } return _instace; }
相关文章
- 12-05内存溢出问题+单例模式+自定义阻塞队列
- 12-05OC中的单例设计模式及单例的宏抽取
- 12-05Qt 单例模式的实现 ,自定义宏实现方法
- 12-05Volley HTTP库系列教程(3)自定义RequestQueue和编写单例RequestQueue示例
- 12-05jieba分词单例模式及linux权限不够情况下tmp_dir自定义
- 12-05Swift定义单例
- 12-05iOS下单例模式实现(二)利用宏定义快速实现
- 12-05单例模式:Qt本身就提供了专门的宏 Q_GLOBAL_STATIC 通过这个宏不但定义简单,还可以获得线程安全性
- 12-05李洪强iOS开发之宏定义方法来初始化一个单例对象
- 12-05iOS使用宏写单例