美文网首页
iOS 单例的简单写法

iOS 单例的简单写法

作者: 孙明辉 | 来源:发表于2017-09-14 17:32 被阅读0次

用法:

将下方代码写进一个header文件中,然后哪个类需要写为单例模式的话,导入头文件,然后在该h文件中写EASingletonH(类名),在m文件中写EASingletonM(类名),至此,你已经可以在别的类中尝试。

调用方式:

举例:
以User类为例
[User sharedUser]
可以这么使用,那么说明你的单例已经可以正常使用了

// .h文件
#define EASingletonH(name) + (instancetype)shared##name;

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

相关文章

  • iOS 单例模式

    关于单例模式的详解,看完这几篇,就完全了然了。iOS 单例模式iOS中的单例模式iOS单例的写法

  • iOS 单例的简单写法

    用法: 将下方代码写进一个header文件中,然后哪个类需要写为单例模式的话,导入头文件,然后在该h文件中写EAS...

  • 单例的2种写法

    单例模式是iOS开发中最常用的设计模式,iOS的单例模式有两种官方写法,如下: 1,常用写法 import "Se...

  • iOS-两种单例模式的实现

    单例模式是开发中最常用的写法之一,创建一个单例很多办法,iOS的单例模式有两种官方写法,如下: 不使用GCD 某些...

  • ios~单例模式:

    在iOS OC中,一般我们都是用官方推荐的写法来写单例:GCD方式单例 分析单例 static SharedPer...

  • 关于单例模式的思考

    饿汉式单例模式(写法一) /** * 饿汉式单例 写法一 * 优点:简单,性能高,线程安全 * 缺点:浪费内存(当...

  • ios 单例写法

  • iOS单例的写法

    参考https://www.jianshu.com/p/6b012ebc10fe .h文件 ```objectiv...

  • IOS单例的写法

    http://blog.sina.com.cn/s/blog_945590aa0102vxhb.html 可以看到...

  • iOS单例的写法

    1.互斥锁@synchroized(self) 可以重写allocWithZone方法,也可以再写一个类方法 2....

网友评论

      本文标题:iOS 单例的简单写法

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