目前我已在解析后端同步用户及其数据。所以我想做的是,如果用户没有说明他们的用户详细信息,则显示用户详细信息页面。因此,登录页面将引导您进入 protected 页面(将显示用户详细信息),如果没有要检索的详细信息,该页面将执行到用户详细信息页面的转场。
var query = PFQuery(className:"UserSettings")
var CurrentUser = PFUser.currentUser()
query.whereKey("user", equalTo: CurrentUser!)
query.findObjectsInBackgroundWithBlock {
(objects: [AnyObject]?, error: NSError?) -> Void in
if objects == nil {
self.performSegueWithIdentifier("fillUserDetails", sender: self)
}
但是,segue 似乎没有执行,它仍然保留在 protected 页面上,而不是将新用户引导到用户详细信息页面。如有任何帮助,我们将不胜感激并提前致谢。
最佳答案
该 block 在后台线程上执行。当您更新 UI 时,您应该在主线程上执行此操作。尝试将 performSegueWithIdentifier
包装在如下 block 中:
var query = PFQuery(className:"UserSettings")
var CurrentUser = PFUser.currentUser()
query.whereKey("user", equalTo: CurrentUser!)
query.findObjectsInBackgroundWithBlock {
(objects: [AnyObject]?, error: NSError?) -> Void in
if objects == nil {
dispatch_async(dispatch_get_main_queue()) {
self.performSegueWithIdentifier("fillUserDetails", sender: self)
}
}
关于ios - Swift:如果 PFObject = nil 则执行 segue。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30817544/