美文网首页
OC 利用宏实现单例

OC 利用宏实现单例

作者: 耗子撼大象 | 来源:发表于2017-02-13 11:36 被阅读0次
// .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; \
}

  • 在.h文件使用方式
    singleton_interface(WCXMPPTool)
  • 在.m文件使用方式
    singleton_implementation(WCXMPPTool)

相关文章

  • OC 利用宏实现单例

    在.h文件使用方式singleton_interface(WCXMPPTool) 在.m文件使用方式singlet...

  • iOS 单例

    单例模式实现不能使用继承 定义单例实现 简写 定义单例实现宏

  • 单例模式和GCD单例实现

    1、传统单例模式2、GCD单例模式3、用宏实现GCD单例模式4、用宏实现GCD单例模式,名称随类名变化而变化 单例...

  • OC和Swift单例的写法

    一 、OC中单例的写法:1.普通单例的写法 2. 利用多线程来写单例 #pragma mark --- 普通单例写...

  • 单例模式的书写

    ARC OC 中的单例 根据OC单例 改写成 Swift 中的单例 OC调用swift,需要#import "单例...

  • 单例模式

    1.利用装饰器实现单例模式 2.修改new方法实现单例模式 3.利用元类实现单例模式 总结: 用装饰器和元类实现的...

  • OC - iOS - 宏单例

    Macro单例

  • IOS OC 单例宏

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

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

  • OC宏定义实现单例设计模式

    单例设计模式是在开发中经常可以看到的一种设计模式,不管是在 Cocoa Touch框架还是我们自己的业务逻辑中都可...

网友评论

      本文标题:OC 利用宏实现单例

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