Segue方法及其目标

时间:2017-08-15 07:17:01

标签: ios swift

当我按下按钮时,我想启动新的视图控制器,我想将一些信息传递给新的视图控制器。通过使用全局变量,无需任何segue方法即可处理此问题。

但是,如果我使用segue方法,我必须使用哪一个?

performSegue()或shouldPerformSegue()

2 个答案:

答案 0 :(得分:2)

如果您想以编程方式启动segue,则必须使用performSegue

使用shouldPerformSegue,您可以添加其他逻辑来决定是否真的应该发生启动的segue。

最后在prepareForSegue中,您可以 - 顾名思义 - 准备segue(例如将一些数据传递到目标viewcontroller)。

答案 1 :(得分:1)

你必须致电

func performSegue(withIdentifier identifier: String, 
           sender: Any?)

上述方法将启动您的segue,您可以推送下一个视图控制器。

获取您的信息

func shouldPerformSegue(withIdentifier identifier: String, 
                 sender: Any?) -> Bool

该方法将返回布尔值,该值将指定是否执行segue。你有控制器,你可以通过从方法返回true / false来允许segue执行或不执行。

true - 允许并且将执行Segue

false - 不允许进行查看,将会中止。

如果要覆盖在故事板中定义的任何segue并希望在运行时执行任何其他segue,则可以使用此方法。