我開始使用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! –