Swift - FirstViewController 和 GKGameCenterControllerDelegate

Swift - FirstViewController and GKGameCenterControllerDelegate

我想在我的应用程序中包含一个 GameCenter 排行榜,但我遇到了一个问题。

当我想显示 LeaderBoard 时,我使用此代码:

//shows leaderboard screen
func showLeader() {
    var vc = self.view?.window?.rootViewController
    var gc = GKGameCenterViewController()
    gc.gameCenterDelegate = self
    vc?.presentViewController(gc, animated: true, completion: nil)
}

为此,我的 class 中必须有 GKGameCenterControllerDelegate :

class FirstViewController: UIViewController, GKGameCenterControllerDelegate {

当我这样做时,出现错误:'type FirstViewController' 不符合协议 'GKGameCenterControllerDelegate'。

有什么解决办法吗?

您需要包含以下方法:

 func gameCenterViewControllerDidFinish(gcViewController: GKGameCenterViewController!)
    {
        // By tapping on Done, the Game Center window will be dismissed.
        self.dismissViewControllerAnimated(true, completion: nil)
    }

更多信息在这里:https://developer.apple.com/library/mac/documentation/GameKit/Reference/GKGameCenterViewControllerDelegate_Ref/