技术贴:4.iOS中的单例模式(单粒模式)

单例模式的作用:保证在程序运行过程中,一个类只有一个实例对象,节约系统资源。

单例模式使用场合:在整个应用程序中,共享一份资源(这个资源只需要创建初始化一次。)

单例模式的实现方法一(推荐):将需要成为单例的类中的allocWithZone方法重写,加入GCD中的一次运行代码:

static 单例类 *_instance;

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

static dispatch_once_t onceToken;

dispatch_once(&onceToken,^{

      _instance =  [super allocWithZone:zone];

});

     return _全局变量;

}


单例类有个创建实例的类方法 shareXX

完美的单例还应该考虑到单例类的copy方法

所以应该讲copy方法重写,直接返回全局变量。

单例模式实现方法二(不推荐):懒加载模式实现,但是线程不一定安全!!!

你可能感兴趣的:(技术贴:4.iOS中的单例模式(单粒模式))