首页 > 学院 > 开发设计 > 正文

iOS-封装单例宏

2019-11-14 20:38:09
字体:
来源:转载
供稿:网友

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

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

 

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

singleton_interface(DataManager)

singleton_implementation(DataManager)

 

// .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; /}

 

 

作者: 清澈Saup
出处: http://www.VEVb.com/qingche/
本文版权归作者和博客园共有,欢迎转载,但必须保留此段声明,且在文章页面明显位置给出原文连接。


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表