当我按下按钮时,我想启动新的视图控制器,我想将一些信息传递给新的视图控制器。通过使用全局变量,无需任何segue方法即可处理此问题。
但是,如果我使用segue方法,我必须使用哪一个?
performSegue()或shouldPerformSegue()
答案 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,则可以使用此方法。