我正在尝试编写一个 Swift 查询,该查询将获取 Avatar 表中与用户的 avatar Pointer 列相匹配的对象。以下查询不会提取任何结果:
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 子句正在寻找字符串,而 userAvatar 是 PFObject。我尝试将 PFObject 转换为 String 但这是不可能的。
我是不是想多了?如何获取与 User -> avatar(Pointer) 中存储的 PFObject 相匹配的 Avatar 对象?
谢谢!
编辑:感谢丹尼尔,这是工作代码(我认为添加 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 {
最佳答案
所以我认为你的问题是你不应该将字符串与 PfObject
进行比较对象不是字符串但对象的价格可能是字符串所以你应该比较类似object.id
到一个字符串。如果这是有道理的。
关于ios - 找到与 Pointer 值匹配的 Parse 对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35617525/