首页 > 其他 > 详细

单例的封装

时间:2014-03-10 12:06:59      阅读:377      评论:0      收藏:0      [点我收藏+]

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

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

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

 

singleton_interface(DataManager)

singleton_implementation(DataManager)

bubuko.com,布布扣
 1 // .h
 2 #define singleton_interface(className) + (instancetype)shared##className;
 3 
 4 // .m
 5 // 最后一句不要斜线
 6 #define singleton_implementation(className)  7 static className *_instace;  8  9 + (id)allocWithZone:(struct _NSZone *)zone 10 { 11     static dispatch_once_t onceToken; 12     dispatch_once(&onceToken, ^{ 13         _instace = [super allocWithZone:zone]; 14     }); 15     16     return _instace; 17 } 18 19 + (instancetype)shared##className 20 { 21     if (_instace == nil) { 22         _instace = [[className alloc] init]; 23     } 24     25     return _instace; 26 }
单例

单例的封装,布布扣,bubuko.com

单例的封装

原文:http://www.cnblogs.com/zhangyang17/p/3590831.html

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