ユースケースごとに異なるストーリーボードを使用しています。私の質問は、ストーリーボードの識別子によってストーリーボード、ビューコントローラーをインスタンス化し、実際のビューコントローラークラスに接続するにはどうすればよいですか?
これが私が今いる場所です:
public dynamic func loadingViewController() -> AnyObject {
return TyphoonDefinition.withClass(LoadingViewController.self) {
(definition) in
definition.injectProperty("presenter", with: self.loadingPresenter())
}
// return TyphoonDefinition.withFactory(self.storyboard(), selector: "instantiateViewControllerWithIdentifier:") {
// (factory) in
//
// factory.injectParameterWith("LoadingViewController")
//
// }
}
public dynamic func storyboard() -> AnyObject {
return TyphoonDefinition.withClass(TyphoonStoryboard.self) {
(definition) in
definition.useInitializer("storyboardWithName:factory:bundle:") {
(initializer) in
initializer.injectParameterWith("Loading")
initializer.injectParameterWith(self)
initializer.injectParameterWith(NSBundle.mainBundle())
}
definition.scope = TyphoonScope.Singleton
}
}
この例では、ストーリーボードの名前は「Loading」、ViewController は「LoadingViewController」、ストーリーボード識別子も「LoadingViewController」です。
ヘルプ(またはサンプルコード)をいただければ幸いです。