美文网首页
iOS 单例宏

iOS 单例宏

作者: 万事皆允_iOS | 来源:发表于2020-01-14 11:25 被阅读0次

#if __has_feature(objc_arc)

#define SYNTHESIZE_SINGLETON_FOR_CLASS_HEADER(classname) \

\

+ (classname *)shared##classname;

#define SYNTHESIZE_SINGLETON_FOR_CLASS(classname) \

\

static classname *shared##classname = nil; \

\

+ (classname *)shared##classname \

{ \

    static dispatch_once_t pred; \

    dispatch_once(&pred, ^{ shared##classname = [[classname alloc] init]; }); \

    return shared##classname; \

}

#else

#define SYNTHESIZE_SINGLETON_FOR_CLASS_HEADER(classname) \

\

+ (classname *)shared##classname;

#define SYNTHESIZE_SINGLETON_FOR_CLASS(classname) \

\

static classname *shared##classname = nil; \

\

+ (classname *)shared##classname \

{ \

    static dispatch_once_t pred; \

    dispatch_once(&pred, ^{ shared##classname = [[classname alloc] init]; }); \

    return shared##classname; \

} \

\

- (id)copyWithZone:(NSZone *)zone \

{ \

    return self; \

} \

\

- (id)retain \

{ \

    return self; \

} \

\

- (NSUInteger)retainCount \

{ \

    return NSUIntegerMax; \

} \

\

- (oneway void)release \

{ \

} \

\

- (id)autorelease \

{ \

    return self; \

}

#endif

相关文章

  • ios 单例宏

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

  • iOS单例宏

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

  • iOS 单例宏

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

  • 单例

    单例 单例宏

  • 单例

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

  • iOS 常用单例宏

    在你的宏文件里面加入单例宏,快捷创建单例 调用 .h .m

  • OC - iOS - 宏单例

    Macro单例

  • iOS单例--宏定义

    如下是单例,是一个宏。这样只有工程中用到单例直接用此宏创建,大大节约时间。 如下是通过宏文件如何创建单例。在.h中...

  • IOS OC 单例宏

  • 单例模式和GCD单例实现

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

网友评论

      本文标题:iOS 单例宏

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