我使用此代码创建单独的单例子类:
+(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;
如果单独使用它们,它们会完美运行,并按预期启动它们的类。但是,如果一起使用,它们都将采用生成的第一个单例的类。
我如何更改此代码以使子类都是它们自己的单例?