iOS开发之——单例的几种设计方式

单例是ios开发中常用的一种设计模式,通常用来控制器之间传值。方便、高效,全局通用。

单例模式的设计分为ARC和MRC。

ARC:

方式一

1、创建一个继承自NSObject的类。

2、在这个类的.h文件中声明类方法:

+ (instancetype)sharedInstance;

2、在这个类的.m文件中实现以下方法:

static id instance;

 + (instancetype)sharedInstance  

{

    static dispatch_once_t onceToken;

    dispatch_once(&onceToken, ^{

        instance = [[super alloc] init];

    });

    return instance;

}

 + (instancetype)allocWithZone:(struct _NSZone *)zone

{

    static dispatch_once_t onceToken;

    dispatch_once(&onceToken, ^{

        instance = [super allocWithZone:zone];

    });

    return instance;

}

方式二:

原文地址:https://www.cnblogs.com/fs-ios/p/4704477.html