如何识别场景是否被Swift中的某个片段打开



我用这个片段打开了一个场景。

//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()方法来检测发送方

最新更新