Я начинаю использовать контейнеры DI на iOS и не знаю, как вводить свойство в этом случае:
Представьте, что у нас есть:
Сборка.m
- (ClassA *)classA {
return [TyphoonDefinition withClass:[ClassA class] configuration:^(TyphoonDefinition *definition) {
[definition injectProperty:@selector(url) with:@"http://inject:URL"];
}];
}
И два класса
Класс А
@interface ClassA : NSObject
@property (nonatomic,readwrite) NSString *url;
@end
Класс B
@interface ClassB : ClassA
@end
А также
ViewController.m
@interface ViewController ()
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
ClassB *cB = [ClassB new];
NSLog(@"%@",cB.url);
}
Я хочу, чтобы я создавал новый объект с помощью ClassB, все объекты имеют инъекцию со свойством url из моего контейнера DI (сборка). Да, я могу добавить свойство в свой ViewController, и эта инъекция работает нормально, но мне нужно ввести свойство в новый объект.
Может быть, я не понимаю всех принципов, но я должен спросить. Спасибо