ios swiftparsing:从3个类收集数据

我有这样的结构:

  • 用户
  • CardSet指针“User”User.objectId和col“名称”
  • 用指针“Cardset”CardSet.objectId和col“名称”

我想select所有卡数据,包括当前用户的CardSet名称。 我在这里相当迷茫,因为我是新来parsing和迅速,并不知道如何做到这一点。

我检查了文档,并理解我必须包括

var query = PFQuery(className: "Card") query.includeKey("cardset") 

获取cardset对象。 我没有得到的是如何select只为当前用户的数据?

最后,如何将所有的数据都放到一个数组中以便将其用于表格视图并将数据输出到其表格单元格标签中?

这是我迄今为止:

 var noteObjects: NSMutableArray! = NSMutableArray() func fetchAllObjects(){ var query = PFQuery(className: "Card") query.includeKey("cardset") query.findObjectsInBackgroundWithBlock { (objects, error) -> Void in if (error == nil){ var temp: NSArray = objects as NSArray self.noteObjects = temp.mutableCopy() as NSMutableArray self.tableView.reloadData() }else{ println(error.userInfo) } } println(self.noteObjects) } 

你的数据模型是明智的,但是绕过它需要更复杂的查询。 要获取CardSet用户是当前用户的卡,您必须在Card查询中embeddedCardSet查询。 这样做的方法是whereKey:matchesQuery:

 // this one finds CardSets whose user is currentUser var innerQuery = PFQuery(className: "CardSet") innerQuery.whereKey("user", equalTo:PFUser.currentUser()) // this one finds Cards whose CardSets match the preceding query var query = PFQuery(className: "Card") query.includeKey("cardset") query.whereKey("cardset", matchesQuery:innerQuery); query.findObjectsInBackgroundWithBlock //...