美文网首页
iOS开发之单例宏抽取

iOS开发之单例宏抽取

作者: mrChan1234 | 来源:发表于2018-11-13 14:49 被阅读0次
// .h文件
#define SingletonH + (instancetype)sharedInstance;

// .m文件
#define SingletonM \
static id _instance; \
 \
+ (instancetype)allocWithZone:(struct _NSZone *)zone \
{ \
    static dispatch_once_t onceToken; \
    dispatch_once(&onceToken, ^{ \
        _instance = [super allocWithZone:zone]; \
    }); \
    return _instance; \
} \
 \
+ (instancetype)sharedInstance \
{ \
    static dispatch_once_t onceToken; \
    dispatch_once(&onceToken, ^{ \
        _instance = [[self alloc] init]; \
    }); \
    return _instance; \
} \
 \
- (id)copyWithZone:(NSZone *)zone \
{ \
    return _instance; \
}

在需要实现单例的类的.h和.m文件下分别写下这两个宏的实现,会自动实现shareInstance方法,返回该类的单例对象,省去了工程下的代码量.

相关文章

  • iOS开发之单例宏抽取

    在需要实现单例的类的.h和.m文件下分别写下这两个宏的实现,会自动实现shareInstance方法,返回该类的单...

  • iOS开发 单例使用问题

    iOS开发 单例使用问题 iOS开发 单例使用问题

  • iOS开发 单例使用问题

    iOS开发 单例使用问题 iOS开发 单例使用问题

  • 单例

    iOS单例模式iOS之单例模式初探iOS单例详解

  • iOS单例一行实现(抽取单例宏)

    本文首先实现单例模式,然后对单例代码进行抽取宏,使其他类可以一句代码实现单例(只介绍ARC环境)本文代码 - 单例...

  • OC语言day08-22宏定义抽取单例

    pragma mark 宏定义抽取单例 pragma mark 概念 pragma mark 代码 Tools.h...

  • ios 单例宏

    单例的初始化在整个app生命周期内(非对象的生命周期)只执行一次,本文介绍通过宏来实现单例方法的定义。代码如下:-...

  • iOS单例宏

    开发中我们无可避免的使用到单例,单例的具体作用不多说了,这里记录一下单例宏的写法。新建一个header file,...

  • iOS 单例宏

    #if __has_feature(objc_arc) #define SYNTHESIZE_SINGLETON_...

  • iOS开发之单例

    由于iOS开发中经常会用到单例,所以就做个简单的总结。 单例模式 作用:可以保证在程序运行过程中,一个类只有一个实...

网友评论

      本文标题:iOS开发之单例宏抽取

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