Unwind Segue - 将退出拖到哪里?

Unwind Segue - Where to Drag Exit?

我正在尝试了解 unwind segue 的工作原理。首先,我创建了 3 个 ViewController。

GlobalVC
 -LoginVC
 -RegisterVC 

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

GlobalVC to LoginVC 调用了 globalToLoginLoginVC to RegisterVC 调用了 loginToRegister。这是我的故事板:

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

@IBAction func unwindToLogin(sender: AnyObject) {
    //Dismiss View
    dismissViewControllerAnimated(true, completion: nil)
}

但是,现在我正在尝试直接从 LoginToGlobal

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

@IBAction func loginButton(segue: UIStoryboardSegue) {
    performSegueWithIdentifier("unwindToGlobal", sender: self)
}

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

Terminating app due to uncaught exception 'NSInvalidArgumentException', >reason: 'Receiver (0x7fdd2068a480>) has no segue with identifier 'unwindToGlobal''

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

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

@IBAction func unwindToGlobal(segue: UIStoryboardSegue) {
     // this may be blank
}

然后,当您将按钮连接到此操作时,您不会拖到代码示例,而是拖到场景上方的 "exit outlet" 图标:

有关更多屏幕快照,请参阅