我正在尝试使用GameCenter来显示我游戏中高分的排行榜。我一直在尝试使用一些代码来实现GameCenter,但都失败了。
我被告知在显示GameCenter视图控制器之前设置gameCenterDelegate。
我被告知要这样做:
var gcViewController: GKGameCenterViewController = GKGameCenterViewController()
gcViewController.gameCenterDelegate = self
但是这给了我以下错误:
Type 'MenuViewController' does not conform to protocol 'GKGameCenterControllerDelegate'
我尝试改变这个:
class MenuViewController: UIViewController {
为:
class MenuViewController: GKGameCenterViewControllerDelegate {
但是这给了我很多错误,第一个是在这一行上,阅读:
Use of undeclared type 'GKGameCenterViewControllerDelegate'
我一直试图让它工作大约两周,而且似乎没有任何解决方案。有人可以帮帮我???
答案 0 :(得分:3)
您的MenuViewController
必须同时是UIViewController
和的子类,以声明它实现了委托。如果您已正确导入GameKit,则:
class MenuViewController: UIViewController, GKGameCenterControllerDelegate {
...
}
应该有效。我同意语法有点令人困惑,超类和实现的协议之间没有任何标记。
编辑:哎呀,简单的错误。代表实际上是GKGameCenterControllerDelegate
而不是GKGameCenterViewControllerDelegate
。声明你按上面的方式实现它,然后实际实现方法。