绝对单例的创建

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了绝对单例的创建相关的知识,希望对你有一定的参考价值。

static Person *person

//单例初始化方法

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

  if (person == nil){

    static dispatch_once_t onceToken;

        dispatch_once(&onceToken, ^{

            person = [super allocWithZone:zone];

        });

  }

  return person;

}

+ (instancetype)sharePerson{

  return [[self alloc]init];

}

- (id)copy{

  return self;

}

 

以上是关于绝对单例的创建的主要内容,如果未能解决你的问题,请参考以下文章

单例的7种写法

创建单例的正确姿势

iOS中创建单例的两种方式

[干货]设计模式:六种单例的创建方式,外加一大波Android进阶架构师资料分享

[干货]设计模式:六种单例的创建方式,外加一大波Android进阶架构师资料分享

iOS之深入解析单例的实现和销毁的底层原理