如何使用GKSavedGameListener协议?

问题描述 投票:0回答:1

我正在为我的小型回合制iOS应用程序实现在线游戏。我在实现“GKSavedGameListener”协议时遇到了一些麻烦,因为我不确定如何将对象注册为侦听器(或将对象设置为委托)。

我遇到了与“GKLocalPlayerListener”类似的问题,但发现GKLocalPlayer允许通过“registerListener:”进行注册。我找到了关于这种缺乏的苹果文档。不幸的是,它看起来并不像“GKSavedGameListener”那样容易实现。

我看到GKLocalPlayer符合“GKSavedGameListener”,但似乎没有在协议中实现可选功能(至少我没有在GKLocalPlayer.h中看到它们)。

我对“player:didModifySavedGame:”特别感兴趣。

如何在“GKSavedGameListener”协议函数中实现自定义行为?

ios objective-c gamekit
1个回答
1
投票

根据Apple的文档中的指导:https://developer.apple.com/documentation/gamekit/gklocalplayerlistener?changes=_7&language=objcGKLocalPlayerListener继承了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.
© www.soinside.com 2019 - 2024. All rights reserved.