У меня есть раскадровка, которая имеет вид в ней, подключенный к его контроллеру с помощью розетки. В том же контроллере я хочу вставить объект, которому нужен доступ к этому представлению. Вместо того, чтобы передавать это представление вручную объекту, я хотел бы добавить его автоматически, но я не знаю, как и если я могу достичь этого с помощью текущей структуры кода.Тайфун Раскадровка: вставить IBOutlet Просмотр зависимости от контроллера
class LoadingViewController: UIViewController {
@IBOutlet weak var loadingView: UIActivityIndicatorView!
private(set) var loadingViewModel: LoadingViewModel! // Dependency Injection
}
// Assembly
dynamic func loadingViewController() -> AnyObject {
return TyphoonDefinition.withClass(LoadingViewController.self) {
(definition) in
definition.injectProperty("loadingViewModel", with:self.loadingViewModel())
}
}
dynamic func loadingViewModel() -> AnyObject {
return TyphoonDefinition.withClass(LoadingViewModel.self) {
(definition) in
definition.injectProperty("loadingView", with:???) // I want loadingViewController.loadingView
}
}
Я думаю, что это что-то делать с аргументами времени выполнения и циклическую зависимость