我正在尝试编写一个Swift查询,该查询将获取Avatar表中与User的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子句寻找的是一个String,而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 {
1条答案
按热度按时间xqnpmsa81#
所以我认为你的问题是,你不应该把一个字符串和一个
PfObject
,对象不是字符串,但对象的价格可能是字符串,所以你应该把像object.id
这样的东西和一个字符串进行比较,如果这有意义的话。