我开始使用iOS上的DI容器和我没有想法如何在这种情况下,注入性:台风注入性到一个新的对象
试想一下,我们有:
Assembly.m
- (ClassA *)classA {
return [TyphoonDefinition withClass:[ClassA class] configuration:^(TyphoonDefinition *definition) {
[definition injectProperty:@selector(url) with:@"http://inject:URL"];
}];
}
和两个班
ClassA的
@interface ClassA : NSObject
@property (nonatomic,readwrite) NSString *url;
@end
ClassB的
@interface ClassB : ClassA
@end
而且
ViewController.m
@interface ViewController()
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
ClassB *cB = [ClassB new];
NSLog(@"%@",cB.url);
}
我想,我创建的ClassB的新的对象,所有的对象有注射来自我的DI容器的url属性r(assembly) 是的,我可以添加属性到我的ViewController和这个注入工作正常,但我需要注入属性到新的对象。
也许我不明白所有的原则,但我应该问。 Thx
是的,它的意义和它的工作,但我不喜欢总是从大会得到这个对象。这种情况下依赖注入的工作在哪里? –
@ dev.nikolaz你为什么不喜欢它?使用程序集(IoC容器)获取某个对象是可以的。所以DI是一种注入依赖关系的机制(对于属性依赖关系),它使用IoC容器来保存配置设置。 –
是的你是对的,这是配置设置)),在这一刻这正确回答。大thx! –