Unwind Segue - 在哪里拖动退出?

sen*_*nty 2 xcode ios segue swift unwind-segue

我试图了解展开转场是如何工作的。首先我创建了 3 个 ViewController。

GlobalVC
 -LoginVC
 -RegisterVC 
Run Code Online (Sandbox Code Playgroud)

我将初始页面设置为 GlobalVC(只有经过身份验证的用户才能看到)。我设置了一个segue:

GlobalVC to LoginVC打电话globalToLoginLoginVC to RegisterVC打电话loginToRegister。这是我的故事板:

在此输入图像描述

对于 registerToLogin 方向,我使用了这个解决方法(在 RegisterVC 中),但看起来有点难看。

@IBAction func unwindToLogin(sender: AnyObject) {
    //Dismiss View
    dismissViewControllerAnimated(true, completion: nil)
}
Run Code Online (Sandbox Code Playgroud)

然而,现在我试图直接从LoginToGlobal

首先,我选择登录按钮,将其拖到 LoginVC:

@IBAction func loginButton(segue: UIStoryboardSegue) {
    performSegueWithIdentifier("unwindToGlobal", sender: self)
}
Run Code Online (Sandbox Code Playgroud)

设置好后segue: UIStoryboardSegue,现在就可以右键退出了。但是,我在这里感到困惑。无论我尝试将 Exit 内的圆圈拖动到什么位置,都会出现错误:

由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,>原因:“接收器(0x7fdd2068a480>)没有标识符为“unwindToGlobal”的segue

我应该将圆圈拖到哪里?(我一直看到Unwind segue to 'Exit'

在此输入图像描述

Rob*_*Rob 5

展开操作方法在目标视图控制器中定义(例如在 中GlobalVC)。

@IBAction func unwindToGlobal(segue: UIStoryboardSegue) {
     // this may be blank
}
Run Code Online (Sandbox Code Playgroud)

然后,当您将按钮连接到此操作时,您不会拖动到代码示例,而是拖动到场景上方的“退出插座”图标:

在此输入图像描述

有关更多屏幕快照,请参阅此答案。