1

まだ終了していない参加者が2人しか残っていないGKTurnBasedMatchがあるとします。

現在の参加者が電話をかける代わりに辞めたい場合は、1人の参加者だけで試合を続けることはできないので、participantQuitInTurnWithOutcome:...電話をかけるのは正しいですか?endMatchInTurnWithMatchData:...

しかし、他の参加者が辞めたい場合は、endMatchInTurnWithMatchData:...自分の番ではないので電話をかけることができません。そのため、電話をかける必要がありparticipantQuitOutOfTurnWithOutcome:...ますが、試合には1人の参加者が残ります。

これらの状況を処理する正しい方法は何ですか?

4

1 に答える 1

1

を呼び出すと–participantQuitOutOfTurnWithOutcome:withCompletionHandler:、他のすべての参加者に対して が呼び出されます-(void)handleTurnEventForMatch:(GKTurnBasedMatch *)match didBecomeActive:(BOOL)didBecomeActiveGKTurnBasedEventHandlerDelegate

-(void)endMatchInTurnWithMatchData:(NSData *)matchData completionHandler:(void (^)(NSError *error))completionHandlerここで、現在のターンのプレイヤーを呼び出すことができます。

誰があなたの試合から退出したかを判断するには、GKTurnBasedParticipant のプロパティ matchOutcome を確認します - それは GKTurnBasedMatchOutcomeQuit になります。

于 2012-12-11T13:42:28.007 に答える