我有三个ViewController的以下场景 VC2中有一个按钮。
用户已登录案例: 在VC2中单击此按钮将转到VC3,即我从VC2到VC3有一个推送
用户尚未登录案例: 单击按钮,将转到LoginVC(模式segue),在成功登录后,用户将转到VC3((模态segue),然后用户可以单击后退按钮返回VC2。 即,VC2将呈现LoginVC,LoginVC将呈现VC3。
问题1 : 我如何以这种方式解雇VC。根据我解雇VC的知识,父委托方法负责解雇子VC。但是我有一个Vc链形成一个循环。登录成功后,我们从loginVC转到VC3。当从VC3回到VC2时,谁应该解雇VC3?
问题-2 : VC2 - VC3是推送segue。 LogicVC到VC3是模态segue。这是对的吗?
答案 0 :(得分:0)
我建议你重新考虑一下你的流程。你的LoginVC
在模态中提出VC3
为什么并不合理。相反,如果需要登录,您应该从VC2
到LoginVC
有一个模型 segue,如果登录成功,请关闭此LoginVC
,您可以LoginVC
在[self dismissViewControllerAnimated:YES completion:nil];
中自行解雇,并VC3
以navigation
方式呈现VC3
。
负责解雇孩子VC的并不总是父母。孩子VC可以解雇自己。如果您仍希望以自己的方式取得成功,那么LoginVC
应先解雇自己,然后,根据您是否要展示LoginVC
,您可以取消{{1}}在完成区。
关于你的问题2,真的没有意义。你问我们你的系统流程应该如何?您可以拥有符合您要求的任何类型的segue。
如果有帮助,请告诉我。