放松Segue – 在哪里拖出口?
我正在试着了解这个放松的过程是如何工作的。 首先我创build了3个ViewControllers。
GlobalVC -LoginVC -RegisterVC
我将初始页面设置为GlobalVC(只有经过身份validation的用户才能看到)。 我设置了从:
GlobalVC to LoginVC
称为globalToLogin
和LoginVC to RegisterVC
称为loginToRegister
。 这是我的故事板:
对于registerToLogin方向,我使用了这个解决方法(在RegisterVC中),但看起来有点难看。
@IBAction func unwindToLogin(sender: AnyObject) { //Dismiss View dismissViewControllerAnimated(true, completion: nil) }
但是,现在我试图从LoginToGlobal
直接
首先,我selectloginbutton,将其拖到LoginVC:
@IBAction func loginButton(segue: UIStoryboardSegue) { performSegueWithIdentifier("unwindToGlobal", sender: self) }
在设置segue: UIStoryboardSegue
,现在可以右键单击Exit。 但是,我在这里感到困惑。 不pipe我试图把Exit拖到圆圈里面,它会给出一个错误:
由于未捕获exception'NSInvalidArgumentException',终止应用程序'>原因:'接收器(0x7fdd2068a480>)没有标识符'unwindToGlobal'的segue
我应该在哪里拖动圈子? (我不断看到Unwind segue to 'Exit'
)
展开操作方法在目标视图控制器中定义(例如在GlobalVC
)。
@IBAction func unwindToGlobal(segue: UIStoryboardSegue) { // this may be blank }
然后,当您将button连接到此操作时,您不会拖动到代码示例,而是拖动到场景上方的“退出sockets”图标:
看到这个答案更多的屏幕快照。