具有 3 个部分的 PFQueryTableViewController

PFQueryTableViewController with 3 Sections

我的解析数据库中有一个 'Game' table,其中包含以下相关列:

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

我正在考虑使用以下查询以及此处给出的答案中的一些代码: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 个不同的 table 视图部分显示结果?

该问题包含两个挑战,这对 PFQueryTableVC 来说太多了。 post 你的网站表明你可以获得一些额外覆盖的部分,但没有涵盖的是你的模型通过 PFRelation 依赖于相关对象(用户)。

该额外要求排除了 PFQueryTableVC,因为它假定您的 table 可以在单个查询中获取,但您的要求取决于获取这两个关系列。

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

操作的要点是这样的:依次查询游戏table,然后是whoseTurn关系,然后是players关系。有了这些数据,您就可以将找到的游戏分成三个数组,与您的 table 视图部分完全对应:gamesThatAreOvergamesThatAreUsersTurngamesThatAreOtherUsersTurn.

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

你在索引路径的对象版本会给你一个游戏,看起来像这样:self.model[indexPath.section][indexPath.row];

PS - 我认为将自己从 class 所提供的解析的 "convenience"(又名约束)中解放出来无论如何都是积极的。