我有一个故事板,其中有一个使用插座连接到他的控制器的视图。在同一个控制器中,我想注入一个需要访问该视图的对象。我不想手动将该视图传递给对象,而是想自动注入它,但我不知道如何以及是否可以使用当前代码结构实现这一目标。
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
}
}
我认为这与运行时参数和循环依赖有关