0

私はクラスを持っています。そのクラスでは、シングルトンパターンを設定し、メソッドを持っています。これがどのように見えるかの短い例です。

#pragma mark Singleton Methods
+ (id)sharedManager {
    @synchronized(self) {
        if (sharedMyManager == nil)
            sharedMyManager = [[self alloc] init];
    }
    return sharedMyManager;
}
- (id)init {
    if (self = [super init]) {
//so some init stuff here
//...
}

-(void)savemethod {
//etc etc
}

シングルトンクラスを呼び出して初期化し、そのように使用するかどうか疑問に思っています

//set up plist controller class as a singleton so that you dont loose cache numbers etc
    EnginePropertiesController *enginePC = [EnginePropertiesController sharedManager];

その後、シングルトンを初期化した同じクラスで、save メソッドを呼び出します...

[enginePC 保存方法];

では、saveMethod が同じインスタンスの一部なのだろうか? 同じ初期化名 enginePC を使用しているためだと思いますが、これについて明確にしたいと思います。

4

1 に答える 1

1

私があなたを理解しているならsaveMethod、シングルトンインスタンスで呼び出されるのは正しいです。あなたがポインタと呼んでいるものは、それが指すものとは関係ありません。

于 2012-04-11T21:48:36.913 に答える