私はそのようなシングルトンを使用していました:
///.h
@interface ASMyController:NSViewController
+(id)myViewController;
@end
////.m
static ASMyController* singleton = nil;
@implementation ASMyController
+(id)myViewController
{
if(nil == singleton)
{
singleton = [[[self class] alloc] init];
}
return singleton;
}
-(id)init
{
self = [super initWithNibName:@"test" bundle:xxxx];
if(self)
{
..............................
}
return self;
}
@end
シングルトンは非ドキュメント ベースのアプリケーションでうまく機能します。ただし、ドキュメント ベースのアプリケーションでは、アプリの各インスタンスは同じ静的変数を共有します。私の最初の設計では、すべてのアプリ インスタンスではなく、1 つのアプリ インスタンスでのみシングルトンを使用していました。
設計を再考する必要があるということですか?または、シングルトンを辞書にすることもできます。キーを使用して現在のインスタンスのシングルトンを取得できますか? または、私にとって他の良いアイデアはありますか?
私の拙い英語があなたに迷惑をかけないことを祈ります..