gpt4 book ai didi

ios - 无法实现 GKGameCenterControllerDelegate

转载 作者:行者123 更新时间:2023-11-30 13:47:03 25 4
gpt4 key购买 nike

我已经使用 GameViewController 来验证玩家的身份,在进入我的 Menu 类并编写协议(protocol) GKGameCenterControllerDelegate 时出现错误,键入“Menu”不符合协议(protocol)“GKGameCenterControllerDelegate”。我不明白这个错误意味着什么以及如何修复它。我尝试过来自不同地方的东西,但我认为我不明白如何正确地做到这一点。

这是我遇到错误的行,位于单词 Menu 下。

class Menu: SKScene, GKGameCenterControllerDelegate

最佳答案

GKGameCenterControllerDelegate 协议(protocol),as the documentation specifies ,有一个必需的方法:gameCenterViewControllerDidFinish。您需要在 Menu 类中实现此方法。

编辑:为了回应您的评论,我将提供更深入的解释。

协议(protocol)是一个接口(interface),包含一组预期要实现的功能。任何实现该协议(protocol)的东西(称为委托(delegate))都应该定义该集合中的所有函数。这些函数将由引用您的实现的其他类使用,并根据需要调用它们。

把它想象成在银行工作。您是一名出纳员,负责与客户合作并发放资金。然而,有时你的抽屉里的钱会用完,所以你必须要求你的经理从金库中取出更多的钱。现在,哪位经理为您取回现金并不重要。它可以是你的直属上司,他的老板,一直到公司的所有者。您所关心的只是能够获得现金,以便您可以继续帮助客户。作为出纳员,您将定义一个协议(protocol),其中包含如下方法:func requestCash(amount: Int) -> Int?。您还将有一名委托(delegate)负责实现该方法,或者在我们的背景下,其工作就是为您获取现金。现在,每当您资金不足时,您都有办法获得更多资金。

因此,当您上类开始担任出纳员时,您要求您的经理有能力为您提供现金。假设他们雇佣了一个没有资历打开金库的新人。好吧,他不会为你工作。当他说他将成为您当天的经理(或实现您的协议(protocol))时,您知道他实际上无法从金库中为您获取现金(未实现您的方法)。所以,你提示。因此您看到了错误。

注意:您可以有可选的协议(protocol)方法。这是完全有效的(在上面的示例中,它可能类似于 funcapproveLoanRequest(loan: Loan) -> Bool - 您可以简单地要求客户在另一天回来以批准贷款请求,在你的日常生活中没有必要)。在这种情况下,如果方法未实现,则不会调用这些方法,并且具有协议(protocol)的类如果未实现,则不会抛出错误。

关于ios - 无法实现 GKGameCenterControllerDelegate,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34800262/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com