PFQueryTableViewController有3个部分

时间:2015-02-10 01:04:02

标签: ios objective-c uitableview parse-platform pfquery

我有一个游戏'我的解析数据库中的表,包含以下相关列:

  • isOver(布尔)
  • whoTurn(关系:_User)(游戏可以有多个玩家,所以同时可以有多个玩家)
  • 球员(关系:_用户)

我需要查询此表并在tableview的3个单独部分中显示结果:

  • ' My Turn'
  • '他们的转向'
  • ' Game Over'

我在考虑使用以下查询以及此处给出的答案中的一些代码:https://parse.com/questions/using-pfquerytableviewcontroller-for-uitableview-sections

PFQuery *query = [PFQuery queryWithClassName:self.parseClassName];

    [query whereKey:@"players" equalTo:[PFUser currentUser]];

    //BREAK UP INTO SECTIONS
    [query orderByDescending:@"isOver"];
    [query addDescendingOrder:@"whoseTurn"];

如何在3个不同的tableview部分显示结果?

1 个答案:

答案 0 :(得分:1)

这个问题包含两个挑战,对于PFQueryTableVC而言,这个问题太多了。你网站的帖子显示你可以获得一些额外覆盖的部分,但是没有涉及的是你的模型通过PFRelation依赖于相关对象(用户)。

额外的要求排除了PFQueryTableVC,因为它假设您的表可以在单个查询中获取,但是您的表依赖于获取这两个关系列。

这将迫使您使用UIViewController作为其视图子视图的普通旧UITableView来推广自己的视频。 (注意我不建议在这里UITableViewController ......就像PFQueryTableVC一样,它通常会产生更多的努力而不是方便,尽管你可能会在这里侥幸逃脱。)

如何做到这一点的要点是:接着,查询游戏表,然后是whoseTurn关系,然后是players关系。有了这些数据,您就可以将找到的游戏分成三个阵列,完全对应于您的表格视图部分:gamesThatAreOvergamesThatAreUsersTurngamesThatAreOtherUsersTurn

您可以将这些数组放在另一个数组中,称之为model。告诉您的表视图,您有self.model.count个部分(始终为==3),并且索引路径中的行数为self.model[indexPath.section].count

您在索引路径上的对象版本会为您提供一个游戏,如下所示:self.model[indexPath.section][indexPath.row];

PS - 我认为将自己从解析所提供的“便利性”(又称约束)中解放出来,无论如何,这个课程将是一个净积极的。