我在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继承时,我正在获得价值。
我在这里做错了什么?
由于
答案 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
}
当我删除上述代码时,它有效。