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
现在正在工作,但是另一个没有被调用。这很奇怪。
答案 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
甚至无法工作。