ios - 如何使用 Parse (swift) 邀请用户加入多人游戏 session

标签 ios swift parse-platform

我正在尝试开发一个问答应用程序,很像 Quiz Up,但有多个玩家。

这是我想做的:-

在 Parse 上创建一个名为“游戏 session ”的类,其中包含创建者的信息 (PFUser.current)、游戏 session 的名称 (name) 以及受邀用户的名称(邀请用户)。将此游戏 session 视为一个封闭组,其中用户仅相互交互。

所以有一个 createSessionViewController 和一个 joinSessionViewController。 如果用户 A 创建游戏 session (在 createSessionViewController 中)并向用户 B 和用户 C 发送邀请,他们可以在 joinSessionViewController 中接受或拒绝这些邀请。

现在,根据我的研究,我必须查询 Game Session 类中的所有对象(在 joinSessionViewControllerviewdidload 中)并使用 query.wherekey 例如,用户 B 的对象 ID 在“invited_users”列中。如果是这样,我将返回该游戏 session 的对象。是对的吗?

如果是这样,这是一种有效的方法吗?因为看起来如果应用程序变得流行并且类中有很多对象,那么它可能会花费很多时间来获取具有用户 B 的 id 的一个对象。 我希望我说清楚了,你们明白我的问题。

PS:我是解析和快速的新手,所以如果你能给我详细的答案,我将不胜感激。

最佳答案

您的逻辑是正确的,但我也强烈建议您看一下 Parse-LiveQuery。此工具允许您订阅您感兴趣的 PFQuery。订阅后,只要 PFObjectPFQuery 匹配,服务器就会通知客户端实时创建或更新。

https://github.com/ParsePlatform/parse-server/wiki/Parse-LiveQuery

https://github.com/ParsePlatform/ParseLiveQuery-iOS-OSX

关于ios - 如何使用 Parse (swift) 邀请用户加入多人游戏 session ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41947252/

相关文章:

ios - 为什么 UITableViewCell detailTextLabel 在 Swift 中是可选的而 textLabel 不是

ios - 使用 enumerateChildNodesWithName 方法进行高级搜索

IOS swift倒数计时器不会停止

php - Apache header 中的欧元字符

ios - 是否可以使用 AVAudioPlayer 和 initWithData :error: to play generated sounds?

ios - 在 NavigationView 前面放置可交互的 View 隐藏导航栏

Swift:来自字符串的唯一 Int id

ios - 如何获取 Parse.com 查询中的键列表?

ios - 在 Parse 中存储 GPS 位置数据

ios - 不会丢失 ios 屏幕快照的分辨率