使用query.whereKey在Swift中解析查询

时间:2016-01-07 20:32:08

标签: swift parse-platform

我计划检索当前用户的分数。这是我的代码。提前谢谢。

let query = PFQuery(className: "UserData")

query.whereKey("user", equalTo: "cuWkby3Fm0")
    query.findObjectsInBackgroundWithBlock {
    (objects: [PFObject]?, error: NSError?) -> Void in

if error == nil {
    print("successfully retrieved \(objects!.score) ")
} else {
    print("Error: \(error!) \(error!.userInfo)")
}

错误是

  

类型的价值' [PFObject]'没有会员&得分'

Parse class

3 个答案:

答案 0 :(得分:3)

objects属于[PFObject]?类型 - PFObject s的可选数组。

您可能希望获得所包含元素的部分的分数。例如:

if let first = objects.first {
    print(first["score"])
}

答案 1 :(得分:2)

如果您想获得当前用户的分数,请查询PFUser.currentUser()而不是硬编码字符串。另外,请确保您实际使用的是单个对象而不是多个对象。

let query = PFQuery(className: "UserData")

query.whereKey("user", equalTo: PFUser.currentUser())
query.findObjectsInBackgroundWithBlock {
(objects: [PFObject]?, error: NSError?) -> Void in

if error == nil {
    print("successfully retrieved \(objects!.first.score) ")
} else {
    print("Error: \(error!.localizedDescription)")
}

答案 2 :(得分:1)

如果您想获取特定用户的所有gameScores。您应该使用for in循环迭代您的数据。

例如。

for object in objects {
    print(object["score"])
}