gpt4 book ai didi

iphone - 单例的子类不能一起使用

转载 作者:行者123 更新时间:2023-12-01 19:10:40 26 4
gpt4 key购买 nike

我使用以下代码创建单独的子类的子类:

+(id)sharedManager {

Class class = [self class];

static SPPanelManager *sharedManager = nil;
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
sharedManager = [[class alloc] init];
});

return sharedManager;
}

然后在每个子类的.h中,都有一个,以类的名称作为返回值:
+(SPWeatherManager *)sharedManager;

如果将它们单独使用,它们将完美工作,并按预期启动其类。但是,如果一起使用,它们都采用生成的第一个单例的类。

我如何更改此代码,以使子类都是自己的单例?

最佳答案

看来您复杂的构造并没有使dispatch_once有点混乱。
根据要求(毕竟这就是dispatch_once的用途),sharedManager仅分配一次。

关于iphone - 单例的子类不能一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16812268/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com