子类对象返回nil - Typhoon

时间:2016-11-06 06:01:12

标签: ios dependency-injection typhoon

我在iOS中使用Typhoon Framework for Dependency injection。

我有两个类A类和B类.B类是A类的子类.A类是单一的。

- (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) {

}];
}

在B班,我继承了A级。

@interface Class B: Class A{
}

每当我尝试获取classBObject时,我都会变为零。

@interface classB:NSObject{
} 

但是当我从NSObject继承时,我正在获得价值。

我在这里做错了什么?

由于

1 个答案:

答案 0 :(得分: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 
}

当我删除上述代码时,它有效。