親クラスと子クラスがあります。子は親から派生します。Child クラスをインスタンス化するだけで、親が直接初期化されることはなく、子によってのみ初期化されます。少なくとも親がシングルトンである必要があります。それがうまくいかない場合は、Child がシングルトンでも問題ありません。次のことを試しましたが、シングルトンに変更されませんでした:
static MySingleton *sharedSingleton;
+ (void)initialize
{
static BOOL initialized = NO;
if(!initialized)
{
initialized = YES;
sharedSingleton = [[MySingleton alloc] init];
}
}
Child クラスは [super init] を呼び出して、Parent をインスタンス化します。ここで私を助けてもらえますか?
編集: ソリューション (アーキテクチャ) の背景情報をいくつか追加します。Web サービスに接続する Web サービス クライアントがあります。接続に関する情報 (認証済み、接続方法など) を持つ基本クラス (親) があり、この基本クラスから派生するさまざまな子クラスがあります。異なる子クラスが必要なのは、1 つの子が一連の Web サービス ロジックを担当し、別の子が別の一連の Web サービス ロジックを担当することです。問題は、接続情報をシングルトンにしたいことです(すべてが1つの接続のみを使用するため、多くはありません)。