Ich habe 2 UIViewControllers, von denen einer das GameScene startet und der andere den Highscore zeigt, wie unten. Das Problem ist, dass mein zweiter UIViewController den udpated Highscore nicht anzeigen möchte. Es zeigt ständig 0. Weiß jemand, was das Problem ist? Ich habe versucht, mit ViewDidLoad sowie ViewWillAppear, aber keiner von ihnen funktioniert.viewController wird nicht aktualisiert
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)
}
im GameScene, ich habe das Highscores als so erklärt:
var highScore = Int()
und wie dies in einer gameover-Funktion verwendet:
if score > highScore {highScore = score}
dank
http : //matteomanferdini.com/how-ios-view-controllers-communicate-with-each-other/ –
Sie müssen Daten vom aktuellen Controller an den Controller übergeben, zu dem Sie navigieren. –