我正在为我的小型回合制iOS应用实现在线游戏。我在实施" GKSavedGameListener"时遇到了一些麻烦。协议,因为我不知道如何将对象注册为侦听器(或将对象设置为委托)。
我和#34; GKLocalPlayerListener"有类似的问题,但发现GKLocalPlayer允许通过" registerListener注册:"。我找到了关于这种缺乏的苹果文档。不幸的是,它看起来不像" GKSavedGameListener"很容易实现。
我看到GKLocalPlayer符合" GKSavedGameListener",但似乎没有实现协议中的可选功能(至少我没有在GKLocalPlayer.h中看到它们)。
我特别感兴趣的是"播放器:didModifySavedGame:"。
如何在" GKSavedGameListener"中实现自定义行为?协议功能?
答案 0 :(得分:1)
Apple的文档中的每条指南:https://developer.apple.com/documentation/gamekit/gklocalplayerlistener?changes=_7&language=objc,GKLocalPlayerListener
继承自GKSavedGameListener
等。您只需要GKLocalPlayerListener
的实现,并且您将收到所有四个消息。
注册后,请将您的班级配置为符合GKLocalPlayerListener
,以便您的班级收到:
@interface MyGameKitHelperClass : UIViewController
<
GKLocalPlayerListener
>
然后,您可以在类中实现当您的类收到相应消息时调用的函数。
-(void)player:(GKPlayer *)player didModifySavedGame:(GKSavedGame *)savedGame
{
}
-(void)player:(GKPlayer *)player hasConflictingSavedGames:(NSArray *)savedGames
{
}
// or whichever functions you're interested in.