使用协调器模式和情节提要初始化UINavigationController

时间:2019-04-17 13:21:43

标签: swift xcode storyboard

我目前正在将我的应用程序从MVC迁移到MVVM。另外,我想使用协调器模式。由于我在应用中使用情节提要,因此在这里遇到了问题。

我成功地从情节提要中实现了视图控制器的实例化。但是,当我在协调器中初始化导航控制器UINavigationController()时,该应用程序-当然不会像在情节提要中设计的那样使用导航控制器的设计。

是否可以从情节提要中初始化类似于视图控制器storyboard.inistantiateViewController(withIdentifier)的导航控制器?

1 个答案:

答案 0 :(得分:1)

我刚试过了,这行得通。你在做这样的事吗?

let storyboard = UIStoryboard(name: "Main", bundle: nil)
if let nc = storyboard.instantiateInitialViewController() as? UINavigationController {
    print("got the nav controller")
}
// or if it's not the initial, you have to set the id in the storyboard
if let nc = storyboard.instantiateViewController(withIdentifier: "Nav") as? UINavigationController {
    print("got the nav controller")
}