我正在尝试实现一个基于转弯的应用程序,发送转数据没有问题,但我看不到自动接收数据的方法。到目前为止,我发现了很多:
GKTurnBasedEventHandlerDelegate-protocol。实现起来很容易,但我在哪里将该对象设置为任何必须代表的对象的委托呢?它似乎不是GKTurnBasedMatch、GKTurnBasedMatchmakerViewController或GKMatchMaker的委托。GKTurnBasedMatch的方法,叫做loadMatchDataWithCompletionhandler,但据我所知,只有当你感觉到匹配需要更新时,它才会被称为一次。我怎么知道它必须更新?我必须每一秒左右启动这个函数吗?提前谢谢。
更新:我已经将[GKTurnBasedEventHandler sharedTurnBasedEventHandler].delegate设置为实现GKTurnBasedEventHandlerDelegate的静态实例。但还是没人打电话来。
发布于 2013-04-11 21:21:31
如果使用以下语句设置它,它将成为共享实例的委托:
[[GKTurnBasedEventHandler sharedTurnBasedEventHandler] setDelegate:self];实际上,您不需要手动调用loadMatchDataWithCompletionhandler,当其中一个参与者调用endTurnWithMatchData时,将通过GKTurnBasedEventHandler委托方法通知所有其他参与者:
-(void) handleTurnEventForMatch:(GKTurnBasedMatch *)match didBecomeActive:(BOOL)didBecomeActive这就是您需要更新UI的地方。请注意,模拟器不支持GKTurnBasedEventHandler委托方法,它们只在实际设备中被调用。
https://stackoverflow.com/questions/15957576
复制相似问题