Objective c 当存在多个ViewController/Segue时,解除ViewControls

Objective c 当存在多个ViewController/Segue时,解除ViewControls,objective-c,ios7,uiviewcontroller,storyboard,segue,Objective C,Ios7,Uiviewcontroller,Storyboard,Segue,我有以下三个ViewController的场景 VC2中有一个按钮 用户已登录,如果: 单击VC2中的此按钮将带您到VC3,即我有一个从VC2到VC3的推送序列 用户尚未登录,如果: 点击该按钮,将带您进入LoginVC(模式segue),成功登录后,用户将进入VC3((模式segue),然后用户可以点击后退按钮返回VC2。 i、 e,VC2将呈现LoginVC,LoginVC将呈现VC3 问题1: 我如何以这种方式解雇VC。根据我解雇VC的知识,父委托方法负责解雇子VC。然而,我有一个VC链形

我有以下三个ViewController的场景 VC2中有一个按钮

用户已登录,如果: 单击VC2中的此按钮将带您到VC3,即我有一个从VC2到VC3的推送序列

用户尚未登录,如果: 点击该按钮,将带您进入LoginVC(模式segue),成功登录后,用户将进入VC3((模式segue),然后用户可以点击后退按钮返回VC2。 i、 e,VC2将呈现LoginVC,LoginVC将呈现VC3

问题1: 我如何以这种方式解雇VC。根据我解雇VC的知识,父委托方法负责解雇子VC。然而,我有一个VC链形成一个循环。成功登录后,我们从loginVC转到VC3。当从VC3返回VC2时,谁应该解雇VC3

问题2:
VC2-VC3是一个推送序列。LogicVC到VC3是一个模式序列。这是正确的吗?

我建议你重新考虑一下你的流程。没有意义为什么你的
LoginVC
在模式序列中显示
VC3
。相反,如果需要登录,你应该有一个从
VC2
LoginVC
的模式序列登录成功后,关闭此
LoginVC
,您可以通过
[自我关闭视图控制器激活:是完成:无];
LoginVC
本身中关闭此
LoginVC;
并以
导航
顺序显示
VC3

解雇孩子VC的责任并不总是家长。孩子VC可以解雇自己。如果你仍然想以自己的方式实现,那么你的
VC3
应该首先解雇自己,然后,根据你是否想显示你的
LoginVC
,你可以在e完成区块

关于你的问题2,真的没有意义。你是在问我们你的系统流程应该是什么样子的吗?你可以有任何符合你要求的序列

让我知道这是否有帮助