如果不使用导航控制器,返回第一个视图控制器的正确方法是什么?

what is the correct way to be back to first view controller if not using navigation controller?

我遇到无法使用导航控制器的情况,我想从 YellowVC 返回到 blueVC。如果使用导航控制器,我通常使用

self.navigationController?.popToRootViewController(animated: true)

但如果我不使用导航控制器,我发现有两种方法可以从 blueVC 返回到 yellowVC。

  1. 使用展开转场
  2. 像下图一样使用现在模态

那么回到第一个视图控制器的最佳方法是什么?使用 unwind segue 还是使用 present modally segue?

我认为如果你使用 dismiss view controller 会很容易。

  • 当第三个 VC class 的后退按钮时,您只需将任何 uniq 值传递给第二个视图控制器 class。(任何字符串或任何整数)
  • 并在视图中使用 if 条件检查值确实加载了第二个 VC class 然后如果它的匹配项关闭当前 VC(第二个 VC ) 够了。

3VC class

@IBAction func back_clicked(_ sender: Any) {
dismiss(animated: false, completion: nil)
    2_vcObject.String = "skip2" 
    }

2Vc Class

view did load()

 if string == "skip2"
{
dismiss(animated: false, completion: nil) 
}

假设您要呈现所有视图,更好的方法是使用 unwind Segues。