このコードを使用して、個別にシングルトンであるサブクラスを作成します。
+(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;
これらを個別に使用すると、完全に機能し、期待どおりにクラスを起動します。ただし、一緒に使用すると、生成された最初のシングルトンのクラスがすべて取得されます。
サブクラスがすべて独自のシングルトンになるように、このコードを変更するにはどうすればよいですか?