アウトレットを使用してコントローラーに接続されたビューを持つストーリーボードがあります。同じコントローラーで、そのビューへのアクセスが必要なオブジェクトを注入したいと考えています。そのビューを手動でオブジェクトに渡すのではなく、自動的に注入したいのですが、現在のコード構造でそれを達成できるかどうか、方法がわかりません。
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
}
}
実行時の引数と循環依存関係と関係があると思います