首页 > 其他 > 详细

iOS- 封装单例宏

时间:2014-03-07 21:37:33      阅读:552      评论:0      收藏:0      [点我收藏+]

在项目中,我们需要全局只有一个实例,节省不必要的内存,这时我们就需要使用里单例生成对象。

这时把单例的代码封装成宏,就能方便我们下次使用了。

 

在.h .m里直接导入头文件,调用 传入类名即可!

singleton_interface(DataManager)

singleton_implementation(DataManager)

bubuko.com,布布扣
// .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; }
bubuko.com,布布扣

 

 

                                                             清澈Saup

iOS- 封装单例宏,布布扣,bubuko.com

iOS- 封装单例宏

原文:http://www.cnblogs.com/qingche/p/3587059.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!