ios - Swift:如果 PFObject = nil 则执行 segue。

标签 ios swift parse-platform segue pfobject

目前我已在解析后端同步用户及其数据。所以我想做的是,如果用户没有说明他们的用户详细信息,则显示用户详细信息页面。因此,登录页面将引导您进入 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/

相关文章:

ios - 无法在 swift WebView 中加载/滚动完整 pdf。

当登录页面存在时,iOS 快速可达性应该失败

swift - 如何对带参数的枚举进行 if-else 比较

swift - 我正在制作一个 ios 应用程序,我想将屏幕分成 4 个象限/按钮

ios - 分段故障 Swift 2 App

ios - 推送弹出导航堆栈后 UIBarButtonItem 字体粗细发生变化

ios - iPad + UIWebView + PresentModalViewController

ios - 操作 isFinished 始终为 false

android - 如何将 "ParsePushBroadcastReceiver.getActivity"添加到应用程序?

ios - 链接 Parse 和 Facebook 导致 Facebook session 关闭