单例的宏定义

作者: 奔波儿霸and霸波儿奔 | 来源:发表于2016-08-30 11:00 被阅读75次

    序言

    单例的使用在我们开发iOS程序的时候的使用率是非常高的,在我们写一个单例的时候,可能不止会用到一个单例,然而重复的代码,我们要不止一次的粘贴,复制,还占用空间。这里给大家分享一下单例的宏定义的方法,废话少说,开始!


    代码

    下面是代码:大家可以直接粘贴+复制(新建一个.h文件 把下面的代码 粘进去就OK了)


    // .h

    #define singleton_interface(class) + (instancetype)shared##class;

    // .m

    #define singleton_implementation(class) \

    static class *_instance; \

    \

    + (id)allocWithZone:(struct _NSZone *)zone \

    { \

    static dispatch_once_t onceToken; \

    dispatch_once(&onceToken, ^{ \

    _instance = [super allocWithZone:zone]; \

    }); \

    \

    return _instance; \

    } \

    \

    + (instancetype)shared##class \

    { \

    if (_instance == nil) { \

    _instance = [[class alloc] init]; \

    } \

    \

    return _instance; \

    }


    单例创建及使用

    1.建一个.h文件

    2.宏定义代码

    3.创建一个单例

    4.单例的使用

    相关文章

      网友评论

        本文标题:单例的宏定义

        本文链接:https://www.haomeiwen.com/subject/lmpfettx.html