我在设置 Game Center Leaderboard 时遇到问题,因为收到错误:无法将“ViewController”类型的值分配给“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)
}
这是怎么回事?谢谢!
最佳答案
您收到此错误是因为您的 ViewController
不符合协议(protocol) GKGameCenterControllerDelegate
。
要解决此问题,请将 GKGameCenterControllerDelegate
的委托(delegate)方法添加到您的 ViewController
类中:
func gameCenterViewControllerDidFinish(gameCenterViewController: GKGameCenterViewController!){
gameCenterViewController.dismissViewControllerAnimated(true, completion: nil)
}
你的错误将会解决。
关于ios - 使用 Swift 设置 Game Center,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32471748/