代码之家  ›  专栏  ›  技术社区  ›  adman

使用Swift设置游戏中心

  •  2
  • adman  · 技术社区  · 9 年前

    我在设置游戏中心排行榜时遇到了问题,因为我遇到了错误, Cannot assign a value of type 'ViewController' to a value of type 'GKGameCenterControllerDelegate!' 。我认为这与我放在顶部的代码有关:

    class ViewController: UIViewController, GKGameCenterControllerDelegate, ADBannerViewDelegate {
    //stuff
    }
    

    以及我在其中一个动作按钮中输入的代码:

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

    发生了什么事?谢谢

    1 回复  |  直到 9 年前
        1
  •  3
  •   Dharmesh Kheni Steve Rosenberg    9 年前

    您收到此错误是因为 ViewController 不符合协议 GKGameCenterControllerDelegate .

    要解决此问题,请添加以下委托方法 GKGameCenter控制器代表 进入您的 视图控制器 类别:

    func gameCenterViewControllerDidFinish(gameCenterViewController: GKGameCenterViewController!){
        gameCenterViewController.dismissViewControllerAnimated(true, completion: nil)
    }
    

    你的错误会解决的。