У меня есть gameCenterButton
в VC1.Его цель - привести пользователей в списки лидеров Game Center, где они смогут увидеть рекорды.Если пользователь решит пройти аутентификацию в Game Center, то я хочу изменить состояние gameCenterButton
(не серое и включить).В моем GameKitHelper
классе у меня есть такие:
func authenticateLocalPlayer() {
GKLocalPlayer.local.authenticateHandler =
{ (viewController, error) in
self.gameCenterEnabled = false
if viewController != nil {
self.authenticationViewController = viewController
NotificationCenter.default.post(name: NSNotification.Name(
GameKitHelper.PresentAuthenticationViewController),
object: self)
} else if GKLocalPlayer.local.isAuthenticated {
self.gameCenterEnabled = true
}
}
}
extension GameKitHelper: GKGameCenterControllerDelegate {
func gameCenterViewControllerDidFinish(_ gameCenterViewController: GKGameCenterViewController) {
gameCenterViewController.dismiss(animated: true, completion: nil)
}
}
В VC1 у меня есть это:
@IBOutlet weak var gameCenterButton: UIButton!
@IBAction func gameCenter(_ sender: UIButton) {
GameKitHelper.sharedInstance.showGKGameCenterViewController(viewController: self)
}
Я думаю, что внутри extension GameKitHelper
я могу сделать ...
if gameCenterEnabled == true {
gameCenterButton.isEnabled = true // How do I allow for this?
gameCenterButton.alpha = 1 // How do I allow for this?
Как разрешить gameCenterButton
состоянию изменять вне его класса.Есть ли что-то, что мне нужно сделать в AppDelegate
?