使用Swift和Parse运行时不执行Segues

时间:2015-12-19 06:00:40

标签: ios swift parse-platform verification

所以我设置了我的应用以确定是否有用户以及如果有或没有该怎么做。此外,如果他们已经验证了他们的帐户(通过电话号码和短信)我的问题是当我运行应用程序时没有任何反应。它加载,然后只是不执行任何segues。所有segue标识符都正确命名。 currentUser变量具有值,但numberIsVerified没有值。我确定它与它有关但不确定是什么或如何解决它。

确定用户所在位置的代码:

override func viewDidLoad() {
    super.viewDidLoad()

}

override func viewWillAppear(animated: Bool) {

    var currentUser = PFUser.currentUser()

    if currentUser == nil || currentUser!["phoneNumberVerified"] == nil {

        performSegueWithIdentifier("showInitialView", sender: self)

    } else {

        if let numberIsVerified = currentUser!["phoneNumberVerified"] as? Bool {

            if currentUser != nil && numberIsVerified == false {
                performSegueWithIdentifier("showVerifyUserView", sender: self)

            } else if currentUser != nil && numberIsVerified == true {
                performSegueWithIdentifier("showMyEventsView", sender: self)

            } else {
                performSegueWithIdentifier("showInitialView", sender: self)
            }
        }
    }
}

}

1 个答案:

答案 0 :(得分:1)

您只能在视图完全加载时使用performSegueWithIdentifier。所以你不能从viewDidLoad中删除。要解决此问题,请将您的segue移至viewDidAppear:

override func viewDidAppear(animated: Bool) {

}

更新:我创建了一个简单的应用程序来执行segue,以便将您的代码与以下内容进行比较:

download project

相关问题