Objective c 什么是一次派遣
有人能告诉我什么是派遣一次,它的意义 这是苹果在其文档中写的 用于dispatch_once函数的谓词 这不是我无法理解的Objective c 什么是一次派遣,objective-c,grand-central-dispatch,Objective C,Grand Central Dispatch,有人能告诉我什么是派遣一次,它的意义 这是苹果在其文档中写的 用于dispatch_once函数的谓词 这不是我无法理解的 + (instancetype)sharedInstance { static JitsiMeet *sharedInstance = nil; static dispatch_once_t onceToken; dispatch_once(&onceToken, ^{ sharedInstance = [[self all
+ (instancetype)sharedInstance {
static JitsiMeet *sharedInstance = nil;
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
sharedInstance = [[self alloc] init];
});
return sharedInstance;
}
谁能给我解释一下吗?将上述代码作为参考?从
调度一次的文档中
它采用一个参数调度一次
,用于测试块是否已完成
因此,您的代码很容易解释:
- 您只想初始化一次
JitsiMeet
- 您创建了一个令牌来检查您是否初始化了它,并将其命名为
onceToken
- 您调用了
,它会检查dispatch\u once
的值。dispatch\u once\u t
- 它继续初始化
sharedInstance
- 下次调用
函数时,它会跳过初始化sharedInstance
sharedInstance
- 它继续初始化
确保您永远不会返回dispatch\u once
nil
init
函数”sharedInstance
方法吗?init
被多次调用吗?我的意思是,无论何时调用sharedInstance
是,无论何时创建类的一个实例
都会首先调用默认的init
。因此,init
函数是[[self alloc]init]
中的sharedInstance
方法,而不是init
方法吗?