更新GKTurnBasedMatch中的matchData而不结束转弯

似乎GameKit只允许GKTurnBasedMatch在每次从Game Center服务器加载GKTurnBasedMatch时更新一次。 有没有其他的方式来更新matchData属性?

下面的方法被添加到iOS 6.0中的GKTurnBasedMatch,并将做你所需要的:

 - (void)saveCurrentTurnWithMatchData:(NSData *)matchData completionHandler:(void (^)(NSError *error))completionHandler 

“更新比赛数据而不会将游戏推进到另一个玩家”

你可以调用` –

 [GKTurnBasedMatch (void)loadMatchDataWithCompletionHandler:(void (^)(NSData *matchData, NSError *error))completionHandler]; 

只要你喜欢得到更新的matchData。 如果你想做增量移动,你也可以做 –

 [GKTunrBasedMatch - (void)endTurnWithNextParticipant:(GKTurnBasedParticipant *)nextParticipant matchData:(NSData *)matchData completionHandler:(void (^)(NSError *error))completionHandler]; 

与你自己的参与者作为下一个参与者。 但是,您必须先加载MatchDataWithCompletionhandler:在您允许提交下一个移动部分之前,您再次提交了部分移动之后。