Swift 在导航控制器内部实例化视图控制器

Swift 在导航控制器内部实例化视图控制器,swift,uinavigationcontroller,Swift,Uinavigationcontroller,如果标题有点混乱,很抱歉。 我的应用程序中有此场景。我的应用程序有一个主要部分,大约9个视图都用segues链接在一起,还有一个部分没有任何链接。当满足特定条件时,需要从应用程序委托实例化此部分 我有一个导航控制器,一个在第2节的开头 我需要能够实例化第二节视图控制器,同时使其成为第二节导航控制器的根视图控制器 在我得到错误的那一刻: push segues can only be used when the source controller is managed by uinavigatio

如果标题有点混乱,很抱歉。 我的应用程序中有此场景。我的应用程序有一个主要部分,大约9个视图都用segues链接在一起,还有一个部分没有任何链接。当满足特定条件时,需要从应用程序委托实例化此部分

我有一个导航控制器,一个在第2节的开头

我需要能够实例化第二节视图控制器,同时使其成为第二节导航控制器的根视图控制器

在我得到错误的那一刻:

push segues can only be used when the source controller is managed by uinavigationcontroller
因为我只是实例化了第2节的视图控制器,而没有将其作为根视图控制器

当应用程序加载时,如果满足条件,则启动带有导航控制器的部分,然后用户可以选择通过推送序列转换到另一个视图。这就是我得到错误的时候

第二节中的转换返回错误

代码:


谢谢。

不,这不是问题所在,问题是您的ViewController没有嵌入到
UINavigationController

要解决此问题,请单击未嵌入
UINavigationController
中的UIViewController。然后在Xcode菜单中单击:

Editor-> Embed in -> Navigationcontroller.

不,它被嵌入了。我现在添加一个屏幕截图。当你转到
ResetPIN CodeVC
时,它会中断,对吗?另外,您确定
loginSelection
是实际的导航控制器,而不是标有
Login View controller
的vc吗?我两个都试过了。但是在导航控制器上有故事板ID会导致发射时崩溃。你能告诉我崩溃的情况吗?啊哈!我想出来了,当我铸造要启动的故事板时,我忘记了将铸造从视图控制器更改为故事板,再更改为导航控制器。
Editor-> Embed in -> Navigationcontroller.