Unwind Segue - 将退出拖到哪里?
Unwind Segue - Where to Drag Exit?
我正在尝试了解 unwind segue 的工作原理。首先,我创建了 3 个 ViewController。
GlobalVC
-LoginVC
-RegisterVC
我设置了GlobalVC的初始页面(只有经过身份验证的用户才能看到)。我设置了一个 segue 来自:
GlobalVC to LoginVC
调用了 globalToLogin
,LoginVC 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" 图标:
有关更多屏幕快照,请参阅 。
我正在尝试了解 unwind segue 的工作原理。首先,我创建了 3 个 ViewController。
GlobalVC
-LoginVC
-RegisterVC
我设置了GlobalVC的初始页面(只有经过身份验证的用户才能看到)。我设置了一个 segue 来自:
GlobalVC to LoginVC
调用了 globalToLogin
,LoginVC 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" 图标:
有关更多屏幕快照,请参阅