为什么gameCenterViewControllerDidFinish不被调用?
问题描述:
我无法解雇我的gamecenter视图。它正确显示并显示正确的排行榜,但不会在按下“完成”按钮时关闭游戏中心并返回游戏。我有必要的gameCenterViewControllerDidFinish()函数,所以我不知道为什么它不起作用。只需要指出正确的方向。以下是我用来调用gamecenter的代码。为什么gameCenterViewControllerDidFinish不被调用?
class MainMenu: SKScene, SKPhysicsContactDelegate,
UIGestureRecognizerDelegate{
func showLeader() {
let viewControllerVar = self.view?.window?.rootViewController
let gKGCViewController = GKGameCenterViewController()
gKGCViewController.gameCenterDelegate = self as?
GKGameCenterControllerDelegate
viewControllerVar?.present(gKGCViewController, animated: true,
completion: nil)
}
func gameCenterViewControllerDidFinish(_ gameCenterViewController:
GKGameCenterViewController) {
gameCenterViewController.dismiss(animated: true, completion: nil)
}
答
我觉得self as? GKGameCenterControllerDelegate
是零,因为你实际上并没有宣布要实现GKGameCenterControllerDelegate
将它添加到列表中,然后删除as? ...
部分来自该行。当你正确地声明它时你不需要它。
+0
这正是我需要做的。谢谢您的帮助! –
添加'GKGameCenterControllerDelegate'你'MainMenu'类:'类的MainMenu:SKScene,SKPhysicsContactDelegate, UIGestureRecognizerDelegate,GKGameCenterControllerDelegate {' – Chris
我知道我错过了什么小。谢谢!这解决了问题! –