2016-11-06 4 views
0

私はTyphoon Framework for iOSを依存性注入に使用しています。サブクラスオブジェクトはnilを返します - 台風

私はクラスAとクラスBの2つのクラスを持っています。クラスBはクラスAのサブクラスです。クラスAはシングレットです。私はclassBObjectを取得しようとするたびに、クラスBでは

- (id)classAObject{ 
    return [TyphoonDefinition withClass:[ClassA class] configuration:^(TyphoonDefinition *definition){ 
      definition.scope = TyphoonScopeLazySingleton; 
     }]; 
} 

- (id)classBObject{ 
    return [TyphoonDefinition withParent:[self classAObject] class:[ClassB class] configuration:^(TyphoonDefinition *definition) { 

}]; 
} 

は、私はnilを取得しています、クラスA

@interface Class B: Class A{ 
} 

を継承しています。

@interface classB:NSObject{ 
} 

しかし、私がNSObjectから継承すると、値を取得しています。

私はここで間違っていますか?

おかげで私の基本クラスで

+1

、私はクラスBにアクセスしようとしていますそれは本当に奇妙だが、私は同じコードを書き、それが –

+0

はあなたがクラスCでアセンブリ –

+0

からクラスを取得しているコードを表示することができます動作しますが、IDのオブジェクト= [_assembly classBObject] ; //アセンブリはnilではありません。これは役に立ちますか? –

答えて

0

は、私は問題を引き起こし、次のコードを使用していました。

+ (id)allocWithZone:(NSZone *)zone { 
@synchronized(self) { 
if (sharedManager == nil) { 
sharedManager = [super allocWithZone:zone]; 
return sharedManager; // assignment and return on first allocation 
} 
} 
return nil; // on subsequent allocation attempts return nil 
} 

上記のコードを削除すると機能しました。

関連する問題