从先前的VC

时间:2018-08-05 02:54:11

标签: swift

我有一个View Controller(1),它列出了表中的某些实体。如果用户想添加一个新实体,请单击并单击“添加”按钮,然后在其中选择VC2(该视图包含一个表格,用于填写添加新实体所需的字段)。他们在VC2中添加实体后,我希望将它们自动转发到与刚添加的实体相关的详细信息屏幕VC3。通常,当他们从表中单击现有实体时,此详细信息屏幕VC3是VC1的提示。

我目前在VC2中拥有

//go back to VC1
navigationController?.popViewController(animated: true)
//Segue to VC3
VC1?.performSegue(withIdentifier: "goToDetail", sender: self)

问题是用户看到视图更改回VC1,然后由于“弹出”而更改为VC3,然后进行查找。

如果我省略了navigationController?.popViewController(animated: true)并直接进入VC3,它将按预期工作,除非用户使用VC3中的后退按钮,它将按钮返回到VC2,这是他们填写的表格,但我真的希望他们这样做跳过VC2,然后回到VC1。

1 个答案:

答案 0 :(得分:1)

嗯,您有两个显而易见的选择,都非常简单。

  • 要么继续,然后从VC2推送到VC​​3,然后通过使用setViewControllers(_:animated:)]调用[VC1,VC3从堆栈中删除VC2,否则...

  • 更改当用户从VC3弹出时发生的情况,以便我们通过调用popToRootViewController(animated:)一直弹出到VC1。