PFQuery findObjectsInBackgroundWithBlock没被调用?

时间:2016-05-01 12:21:38

标签: ios swift parse-platform swift2 pfquery

let userQuery = PFUser.query()
userQuery!.whereKey("username", equalTo: userUsername)
userQuery!.findObjectsInBackgroundWithBlock({ (result:[PFObject]?, error:NSError?) in
    currentProfilePageUser = result![0] as! PFUser
 })

这是我的代码。我试图仅使用用户名获取PFUser。但是,我在findObjectsInBackgroundWithBlock内添加了断点,并发现它没有被调用。因此,我无法收到我的数据。为什么没有被findObjectsInBackgroundWithBlock召唤?

let query = PFQuery(className: "Follow")
    query.whereKey("followFrom", equalTo: PFUser.currentUser()!.objectId!)
    query.whereKey("followingTo", equalTo: currentProfilePageUser)
    query.findObjectsInBackgroundWithBlock { (result:[PFObject]?, error:NSError?) in
        if result == nil{
            print("currentuser is not following this user")
            self.followButtonTitle.setTitle("Follow", forState: .Normal)
        }else{
            print("currentuser is follwing this user")
            self.followButtonTitle.setTitle("Unfollow", forState: .Normal)
        }
    }

出于一些非常奇怪的原因,第一个findObjectsInBackgroundWithBlock现在正在工作,但是另一个没有被调用。这很奇怪。

2 个答案:

答案 0 :(得分:0)

试试这个,看看你的控制台是否有打​​印件:

let userQuery = PFUser.query()
userQuery!.whereKey("username", equalTo: userUsername)
userQuery!.findObjectsInBackgroundWithBlock({ (result:[PFObject]?, error:NSError?) in
    if(error == nil){
        print("Success!")
    } else {
        print("Failed with error \(error)")
    }
})

答案 1 :(得分:0)

我在上面发布的第二个查询需要第一个查询的结果。出于某种原因,第二个查询首先运行,然后第一个运行,不管我的代码顺序如何。我的修复是将第二个查询放在viewDidAppear中,将其置于viewWillAppear甚至无法工作。