检查查询键是否为nil Parse

时间:2015-10-27 00:48:21

标签: ios swift parse-platform pfquery pfobject

所以,我在解析中有一个查询,它必须根据一个键是否等于某个对象来查找对象。这是几行代码。

    var gamesQuery = PFQuery(className: "Games")
    gamesQuery.whereKey("challenged", equalTo: (PFUser.currentUser()!.objectId!))
    gamesQuery.whereKey("challenger", equalTo: PFUser.currentUser()!)

但是,运行此查询时,由于没有适合搜索参数的对象,有时会将查询设置为nil。

是否可以检查我是否可以检查是否

gamesQuery.whereKey("challenged", equalTo: (PFUser.currentUser()!.objectId!))

是零吗?任何有关此问题的帮助都将非常感激。

1 个答案:

答案 0 :(得分:2)

您当前的查询基本上是and - "查找对象,其中challenged ==当前用户和挑战者==当前用户"。

我认为您正在进行or查询 - "找到challenged == current user or challenger == current user"的对象。您可以在Parse中使用compound query执行此操作 -

let challengedQuery = PFQuery(className: "Games")
challengedQuery.whereKey("challenged", equalTo: (PFUser.currentUser()!.objectId!))

let challengerQuery = PFQuery(className: "Games")
challengerQuery.whereKey("challenger", equalTo: PFUser.currentUser()!)

let gamesQuery = PFQuery.orQueryWithSubqueries([challengedQuery, challengerQuery])

gamesQuery.findObjectsInBackgroundWithBlock {
  (results: [PFObject]?, error: NSError?) -> Void in
  if error == nil {
     // results contains challenger and challenged games.
  }
}
相关问题