我正在尝试编写一个Swift查询,该查询将获取Avatar表中与User的头像指针列匹配的对象。以下查询不会提取任何结果:
var userAvatar = self.user["avatar"]
let avatarQuery = PFQuery(className: "Avatar")
avatarQuery.whereKey("objectId", equalTo: userAvatar)
avatarQuery.limit = 1
avatarQuery.findObjectsInBackgroundWithBlock{
(results: [PFObject]?, error: NSError?) -> Void in
if error != nil {
print(error)
} else if let results = results as? [PFObject]! {
for result in results {
我认为问题是whereKey子句正在寻找一个String,而userAvatar是一个PFObject。我尝试将PFObject转换为String,但这是不可能的。
我是否过度思考这个?我怎样才能获得与用户中存储的PFObject相匹配的Avatar对象 - >化身(指针)?
谢谢!
编辑:感谢Daniel,这是工作代码(我认为添加includeKey可能也有帮助):let userAvatar = self.user["avatar"] as! PFObject
let avatarQuery = PFQuery(className: "Avatar")
avatarQuery.whereKey("objectId", equalTo: userAvatar.objectId!)
avatarQuery.includeKey("avatar")
avatarQuery.limit = 1
avatarQuery.findObjectsInBackgroundWithBlock{
(results: [PFObject]?, error: NSError?) -> Void in
if error != nil {
print(error)
} else if let results = results as? [PFObject]! {
for result in results {
答案 0 :(得分:1)
所以我认为你的问题是你不应该将字符串与PfObject
比较,对象不是字符串,但对象的价格可能是字符串,所以你应该比较像{{1一个字符串。如果这是有道理的。