iOS中的单例写法

#pragma mark 单例方法
static AClass *instance = nil;

+(AClass *)shareInstance
{
  if (instance == nil) {
    @synchronized(self){
        if (instance == nil) {
            instance = [[AClass alloc] init];
        }
    }
  }
    return instance;
}

另一种使用GCD:

static AClass *instance = nil;

+(instancetype)shareIntance
{
  static dispatch_once_t onceToken;
  dispatch_once(&onceToken, ^{
      instance = [[AClass alloc]init];
  });
  return instance;
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1、不使用GCD的方式 2、使用GCD // 补充再来说说:Objective-C 里的 Alloc 和Alloc...
    Jt_Self阅读 10,917评论 0 1
  • 保证一个类只有一个实例,并且提供一个全局访问的入口访问这个实例。 普通写法 设置一个静态变量,一个类方法,使用GC...
    炒河粉儿阅读 2,953评论 0 2
  • 1.ios的单例模式有两种官方写法: 1)不使用GCD的方式 #import "Manager.h" static...
    zhaihongxia阅读 4,308评论 0 0
  • 简介 开发者应该经常看到单例模式这个设计模式,那什么是单例模式呢? 我们知道面向对象编程会生成很多实例,比如对于学...
    Cloudox_阅读 949评论 0 0
  • iOS单例模式的写法 1、第一种 这种写法很普通,就是设置一个对象类型的静态变量,判断这个变量是否为nil,来创建...
    凌巅阅读 4,908评论 5 5