J'ai 2 UIViewControllers, l'un démarrant le GameScene et l'autre censé montrer le highscore, comme ci-dessous. Le problème est que mon deuxième UIViewController ne veut pas montrer le highscore. Il continue à montrer 0 tout le temps. Est-ce que quelqu'un sait quel est le problème? J'ai essayé d'utiliser viewDidLoad ainsi que viewWillAppear mais aucun d'eux ne fonctionne.viewController ne se met pas à jour
override func viewDidLoad() {
super.viewDidLoad()
let label = UILabel(frame: CGRect(x: 0, y: 0, width: 200, height: 21))
label.center = CGPoint(x: 160, y: 285)
label.textAlignment = .center
label.text = String(GameScene().highScore)
self.view.addSubview(label)
}
dans le GameScene, j'ai déclaré highScore comme si:
var highScore = Int()
et utilisé dans une fonction GameOver comme si:
if score > highScore {highScore = score}
grâce
http : //matteomanferdini.com/how-ios-view-controllers-communicate-with-each-other/ –
Vous devez transmettre des données du contrôleur actuel au contrôleur sur lequel vous naviguez. –