我的解析数据库中有一个“游戏”表,其中包含以下相关列:
- isOver( bool 值)
- whoseTurn (Relation:_User)(游戏可以有多个玩家,所以可以同时轮到不止一个人)
- 玩家(关系:_User)
我需要查询此表并在 TableView 的 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 个不同的表格 View 部分显示结果?
最佳答案
这个问题包含两个挑战,这对 PFQueryTableVC
来说太多了。 .您网站上的帖子表明您可以获得一些额外覆盖的部分,但没有涵盖的是您的模型通过 PFRelation 依赖于相关对象(用户)。
这个额外的要求排除了 PFQueryTableVC,因为它假定您的表可以在单个查询中获取,但您的表取决于获取这两个关系列。
这将迫使您使用普通的旧 UIViewController
来滚动自己的有一个 UITableView
作为其 View 的 subview 。 (请注意,我不推荐 UITableViewController
在这里...就像 PFQueryTableVC
一样,它通常会产生更多的努力而不是方便,尽管您可以在这里摆脱它)。
操作的要点是这样的:依次查询游戏表,然后是whoseTurn
关系,则为 players
关系。使用这些数据,您将能够将找到的游戏分成三个数组,与您的表格 View 部分完全对应:gamesThatAreOver
, gamesThatAreUsersTurn
, gamesThatAreOtherUsersTurn
.
你可以把这些数组放在另一个数组中,称之为model
.告诉你的 TableView 你有 self.model.count
部分(永远是 ==3
),并且索引路径中的行数是 self.model[indexPath.section].count
您在索引路径中的对象版本将为您提供一个游戏,看起来像这样:self.model[indexPath.section][indexPath.row];
PS - 我认为让自己摆脱解析提供类的“便利”(又名约束)无论如何都会是一个积极的因素。
关于ios - 具有 3 个部分的 PFQueryTableViewController,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28422402/