swift - 从以前的 VC 转到 ViewController

标签 swift

我有一个 View Controller (1),它在表中列出了一些实体。如果用户想要添加一个新实体,他们单击并在他们转到 VC2 的地方“添加”按钮(一个包含用于填写必要字段以添加新实体的表单的 View )。他们在 VC2 添加实体后,我希望他们自动转发到与他们刚刚添加的实体相关的详细信息屏幕 VC3。通常,当他们单击表中的现有实体时,此详细信息屏幕 VC3 是 VC1 的一个 segue。

我目前在 VC2 中

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

这个问题是用户看到 View 变回 VC1,然后由于“pop”和 segue 而变回 VC3。

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

最佳答案

嗯,你有两个明显的选择,都非常简单。

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

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

关于swift - 从以前的 VC 转到 ViewController,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51691068/

相关文章:

ios - 是否可以将 ARKit 平面放置在屏幕中央?

ios - 将 ImageView 从 Collection View 传递到新的 View Controller

swift - 如何在标签中从 Firebase 加载数据?

ios - Xcode 6 从 UIViewController 访问 UIApplication

ios - 如何在swift中实现优化的多个计时器?

ios - 在 UICollectionView 中滚动和选择时出现奇怪的行为

swift - xCode Swift 文件变灰并带有红色文本

swift - 信号量不等待 ios 中 Web 服务的第二次函数调用

ios - 为条形按钮项目设置图像和标题?

将枚举键与各种键进行比较的 Swift 最佳实践