3

アウトレットを使用してコントローラーに接続されたビューを持つストーリーボードがあります。同じコントローラーで、そのビューへのアクセスが必要なオブジェクトを注入したいと考えています。そのビューを手動でオブジェクトに渡すのではなく、自動的に注入したいのですが、現在のコード構造でそれを達成できるかどうか、方法がわかりません。

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 
    }
}

実行時の引数と循環依存関係と関係があると思います

4

1 に答える 1