objective-c – 使用GKTurnBasedMatch的麻烦endTurnWithNextParticipants:turnTimeout:matchData:completionHandler:

我正在使用GKTurnBasedMatch进行 iphone游戏.首先我创建游戏并邀请几个玩家.

我结束了第一个玩家转身罚款与endTurnWithNextParticipants:turnTimeout:matchData:completionHandler:它去到第二个玩家.

当第二个玩家轮到他时,更新匹配数据,并更新下一个参与者,他尝试调用相同的endTurnWithNextParticipants:turnTimeout:matchData:completionHandler :,但是我收到一个错误.

GKErrorDomainCode = 17“所请求的操作无法完成,因为一个或多个参数无效”

nextParticipants的阵列似乎很好.我所做的就是把当前播放器放在参与者数组的末尾,turnTimeOut似乎很好,我和第一次做同样的事情,matchdata也应该是好的.

有没有我失踪的东西?我唯一可以做的事情是,我没有正确接受游戏邀请或类似的事情.但是,文件对我来说还不清楚.

我一直在尝试调试这几个小时.

我会感谢你可以给我的任何帮助!非常感谢.

解决方法

我有同样的问题(或至少是类似的),但找到了一个出路.你收到的对象(gamedata)不应该像馅饼一样传递.在我的项目中,我需要将数据转换为游戏对象,并使用被处理的数据进行处理,然后将其转换回数据包,然后发送给下一个播放器.

对我来说,这是唯一可以安全处理数据的方法,而不会使原始来源变异.

祝你好运,希望有所帮助.

相关文章

对象的传值与返回说起函数,就不免要谈谈函数的参数和返回值...
从实现装饰者模式中思考C++指针和引用的选择最近在看...
关于vtordisp知多少?我相信不少人看到这篇文章,多半是来自...
那些陌生的C++关键字学过程序语言的人相信对关键字并...
命令行下的树形打印最近在处理代码分析问题时,需要将代码的...
虚函数与虚继承寻踪封装、继承、多态是面向对象语言的三大特...