在视图控制器之间进行转换的最佳方法是什么

时间:2019-03-06 16:13:01

标签: ios swift

在Swift 4中尝试使用视图控制器,各种搜索显示在视图控制器之间移动的几种不同方法。我首先开始使用以下代码来打开新的视图控制器:

let vc = self.storyboard?.instantiateViewController(withIdentifier: "registration2") as! ViewRegistration2
self.present(vc, animated: true, completion: nil)

但是后来我找到了这种方法:

performSeque(withIdentifier: "sequeName", sender: self)

使用这种方法,我必须创建一个segue并将其命名,这很好,但是我想知道哪种是最佳实践,并且/或者有没有理由使用一种或另一种方法?

2 个答案:

答案 0 :(得分:2)

Segues只能与情节提要板一起使用。它们通常是自动实例化的,并在情节提要中创建。您还可以在代码中执行segue。 使用segues时,情节提要会实例化视图控制器并触发过渡。

不使用情节提要时,将使用UIViewController.present(:animated:completion:)显示视图控制器。

看起来您正在使用情节提要,在这种情况下,您应该使用segues,因为第一个代码段实际上是在执行segues的工作。

答案 1 :(得分:0)

您可以在代码上使用present函数来呈现ViewController。 像这样。 self.present(VC,动画:true,完成:无)

如果Storyboard上有ViewControllers,performSeque是一个好方法。