版权声明:知识版权是属于全人类的! 欢迎评论与转载!!! https://blog.csdn.net/zhuge1127/article/details/82464798
单次执行一个任务,此方法中的任务只会执行一次,重复调用也没办法重复执行(单例模式中常用此方法)
static AutoPayManager *manager;
@implementation AutoPayManager
+ (instancetype)defaultPayManager {
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
manager = [[self alloc] init];
});
return manager;
}
+ (instancetype)allocWithZone:(struct _NSZone *)zone {
if (!manager) {
manager = [super allocWithZone:zone];
}
return manager;
}
dispatch_once(&onceToken, ^{
doSomething;
});