您的位置:首页 > 其它

谈谈对单例的理解

2016-02-18 19:58 162 查看
在iOS开发过程有许多设计模式,单例模式是较常用的。因此理解单例模式也是为更好的开发做准备。

首先,得需要知道什么是单例?

单例,字面理解就是单独的实例,所以说整个项目中该类的对象只能被初始化一次,无论什么时候或在什么地方创建该类得对象都是一个。我们可以根据它的这个特性来判断,做项目的时候哪些应该用单例。比如整个项目中共用的资源就可以,OC中UIApplication也是一个单例,还有很多单例。

其次知道单例要如何实现?

我这里只写一种单例代码,代码可能考虑的不周全,以后有什么补充的再来修改。

代码如下:

#import
"MyClass.h"

@implementation MyClass

static MyClass *_class;

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

    static dispatch_once_t onceToken;

    dispatch_once(&onceToken, ^{

        _class = [super
allocWithZone:zone];

    });

    return _class;

}

+ (instancetype)sharedClass{

    if (_class ==
nil) {

        _class = [[self
alloc]
init];

    }

    return _class;

}

@end
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  单例模式