我尝试使用从另一个表中查询的用户User
来查询我的objectId
表。
这是我的代码:
func queryFriendsTable() {
var queryFriends = PFQuery(className: "Activity")
queryFriends.whereKey("type", equalTo: "friend")
queryFriends.whereKey("fromUser", equalTo: PFUser.currentUser()!)
queryFriends.includeKey("toUser")
var queryUserTable = PFUser.query()
queryUserTable!.whereKey("objectId", matchesKey: "toUser", inQuery: queryFriends)
queryUserTable!.findObjectsInBackgroundWithBlock {
(objects: [AnyObject]?, error: NSError?) -> Void in
if error == nil {
// The find succeeded
// Do something with the found objects
if let objects = objects as? [PFObject] {
for object in objects {
self.friendNamesArray.addObject(object["username"]!)
println(self.friendNamesArray)
}
}
}
}
}
运行此查询时没有返回任何内容。我认为问题与toUser
表中的objectId
Activity
是指针而不是字符串这一事实有关。 (我尝试在toUser
点使用的matchesKey
值是一个指针)
那么如何使用objectId
方法从指针对象中将inQuery
作为字符串?
答案 0 :(得分:1)
你的怀疑是正确的。在查看用户的类时,Parse将找不到指针。相反,您需要做的是创建一个字符串变量并将其设置为queryFriends
的结果。那么这意味着你必须首先运行该查询,获取指针,并将其作为字符串访问它的objectId字段,以便在您的后续查询中使用它。