7

iOS 6.0 为 GKTurnBasedMatch 类添加了几个新的实例方法。我不确定如何使用它们:

acceptInviteWithCompletionHandler
declineInviteWithCompletionHandler

是否应该在收到回合制比赛邀请时使用它们?回合制比赛邀请通过 GKTurnBasedEventHandlerDelegate 协议方法:handleInviteFromGameCenter 接收。

- (void) handleInviteFromGameCenter:(NSArray *)playersToInvite

handleInviteFromGameCenter 不提供用于接受或拒绝的 GKTurnBasedMatch 实例。因此,我不知道如何使用它们来响应邀请。

提供 GKTurnBasedMatch 实例的唯一方法是:

+ loadMatchesWithCompletionHandler
+ findMatchForRequest:withCompletionHandler

我不确定为什么要对 loadMatchesWithCompletionHandler 的结果使用 acceptInviteWithCompletionHandler,因为它们是我已经参与的比赛。

我不确定为什么我会将它们中的任何一个与 findMatchForRequest:withCompletionHandler 一起使用,因为它被调用来查找匹配项。找到匹配后我应该接受吗?

<- 更新->

我发现了一种用于拒绝邀请与完成处理程序的用途。如果用户请求删除他们没有参加的比赛,我会调用 dedeclineInviteWithCompletionHandler。这样他们就不会被记录为退出比赛。

当玩家尚未转弯时,他们的 GKTurnBasedParticipant.lastTurnDate 为空

如果用户请求进行比赛(我已使用 loadMatchesWithCompletionHandler 在列表中显示)并且本地玩家没有在比赛中轮到,我在向玩家显示比赛之前调用acceptInviteWithCompletionHandler。我不确定这是否有必要,这似乎是正确的做法。

4

0 回答 0