Swift 3检查使用了哪个segue

时间:2016-10-20 14:45:17

标签: ios swift uiviewcontroller uibutton swift3

我创建了一个游戏,首先向用户呈现主屏幕。如果用户选择游戏,则按钮和背景消失,游戏以SKScene的形式开始。然后,当玩家死亡时,存在到第二视图控制器的自动segue。然后,用户的按钮形式有两个选项。菜单或重启。两个segue都导致相同的视图控制器。如何区分两个segue,以便在第一个视图控制器中相应地采用或显示菜单。

2 个答案:

答案 0 :(得分:1)

假设您为每个segue设置了一个标识符,您可以通过prepare(for segue: UIStoryboardSegue, sender: Any?)方法检查将执行哪个segue,在ViewController中实现它并检查segue.identifier

override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
    if segue.identifier == "firstSegue" {
      // .. do somtheing
    } else if segue.identifier == "secondSegue" {
        // .. do something
    }
}

希望这会有所帮助。

答案 1 :(得分:0)

您的segues应该有标识符。在prepareForSegue函数中检查segue.identifier以确定下一步操作。例如,在swift 3中:

func prepareForSegue(segue: UIStoryboardSegue?, sender: AnyObject?)
{
   if segue.identifier == "menuSegue"
   {
     // do menu
   }
   else if segue.identifier == "restartSegue"
   {
     // do restart
   }

}