我用这个片段打开了一个场景。
//pass all retrived info from signup field over to the login scene to facilitate user experience
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject!) {
if (segue.identifier == "showLoginController") {
let svc = segue.destinationViewController as! LoginController;
print("pass data over to next viewcontroller")
}
}
这个片段返回到登录屏幕,我想在那里设置一些值。但是,当segue"showLoginController"尚未加载登录屏幕时,某些字段应该为空。
如何识别LoginScene是否已被某个segue打开并相应地设置值?
在LoginController
视图控制器中添加以下内容:
var fromSegue = false
并且正在为Segue做准备:
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject!) {
if (segue.identifier == "showLoginController") {
let svc = segue.destinationViewController as! LoginController;
svc.fromSegue = true
print("pass data over to next viewcontroller")
}
}
然后在您的LoginController
中,您可以检查fromSegue
。
您可以从上一个场景中知道segue,在发送方场景中,实现prepareForSegue()
方法来检测发送方