我在iOS中使用Typhoon进行依赖注入。
我有两个类,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继承时,我就得到了这个值。
我在这里做错了什么?
谢谢
发布于 2016-11-06 15:44:57
在我的基类中,我使用了以下导致问题的代码。
+ (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
}当我删除上面的代码时,它起作用了。
https://stackoverflow.com/questions/40446489
复制相似问题