美文网首页
宏定义单例

宏定义单例

作者: 何年何月 | 来源:发表于2016-05-04 23:56 被阅读197次

    新建.h文件##

    屏幕快照 2016-05-04 下午11.47.05.png

    在.h文件中代码如下:

    /*
    专门用来保存单例代码
    */
    
    // @interface
    #define singleton_interface(className) \
    + (className *)shared##className;
    
    
    // @implementation
    #define singleton_implementation(className) \
    static className *_instance; \
    + (id)allocWithZone:(NSZone *)zone \
    { \
        static dispatch_once_t onceToken; \
        dispatch_once(&onceToken, ^{ \
            _instance = [super allocWithZone:zone]; \
        }); \
        return _instance; \
    } \
    + (className *)shared##className \
    { \
        static dispatch_once_t onceToken; \
        dispatch_once(&onceToken, ^{ \
            _instance = [[self alloc] init]; \
        }); \
        return _instance; \
    }
    

    使用方法: 新建类First
    First.h中

    singleton_interface(First)
    
    

    First.m中

    singleton_implementation(First)
    
    

    First就是一个单例啦!

    [[First sharedFirst] say];
    
    

    Demo地址

    参考文章很多,就是随便写写!Demo地址中包含指纹识别

    相关文章

      网友评论

          本文标题:宏定义单例

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