Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 如何使用Parse(swift)邀请用户加入多玩家游戏会话_Ios_Swift_Parse Platform - Fatal编程技术网

Ios 如何使用Parse(swift)邀请用户加入多玩家游戏会话

Ios 如何使用Parse(swift)邀请用户加入多玩家游戏会话,ios,swift,parse-platform,Ios,Swift,Parse Platform,我正在尝试开发一个琐事应用程序,很像问答游戏,但有多个玩家 以下是我的想法:- 在Parse上创建一个名为“Game Session”的类,该类包含创建它的人的信息(PFUser.current)、游戏会话的名称(name)和被邀请的用户的名称(被邀请的用户)。将此游戏会话视为一个封闭的组,其中用户仅相互交互 因此有一个createSessionViewController,和一个joinSessionViewController。 如果用户A创建游戏会话(在createSessionViewC

我正在尝试开发一个琐事应用程序,很像问答游戏,但有多个玩家

以下是我的想法:-

在Parse上创建一个名为“Game Session”的类,该类包含创建它的人的信息(
PFUser.current
)、游戏会话的名称(name)和被邀请的用户的名称(被邀请的用户)。将此游戏会话视为一个封闭的组,其中用户仅相互交互

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

现在,根据我的研究,我必须查询类游戏会话中的所有对象(在
joinSessionViewController
viewdidload
中),并使用
查询。其中key
例如,用户B的对象id位于“
邀请的\u用户
”列中。如果是这样,我将返回该游戏会话的对象。是这样吗

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


PS:我对解析和swift有点陌生,所以如果你能给我详细的答案,我将不胜感激

你的假设是正确的,这确实是你可以做的一种方法,尽管它有你提到的缺点。如果您想投入更多精力,可以编写JavaScript解析云代码,在保存项目后执行(例如,在创建游戏会话后),并向被邀请的用户发送带有新对象id的静默推送通知。然后,您可以使用推送通知数据来了解确切的ID,而不必查询它们。但这要先进得多。无论你的应用程序是什么,使用模型查询加载数据的简单方法应该是好的。如果你发现自己的表现因此受到阻碍,那么恭喜你

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


从您提供的链接中我了解到,当我实际进入“游戏会话”并对其进行编辑(通过新问题、计分、轮次等)时,PFLiveQuery将非常有用。但是,我想知道这是否是在joinSessionViewController的ViewDiLoad中使用用户对象ID获取游戏会话初始对象的有用方法。