Ich mache ein Spiel in Swift, ich habe eine Variable namens score
, ich inkrementiere und drucke diese Variable in meinem onTick()
-Methode, und es funktioniert gut. Wenn ich jedoch versuche, auf diese Variable zuzugreifen, um nach dem Tod des Spielers das Endergebnis anzuzeigen, bekomme ich 0
oder was auch immer der ursprüngliche Wert war.Swift Variable geben falschen Wert
Initialisierung:
class ViewController: UIViewController {
var score = 0;
Incrementieren:
scoreCounter.text = String(self.score);
self.score += 1;
Der Versuch, es zu endgame anzuzeigen:
print("SCORE: \(score)");
if (score > topScore) {
endScore.textColor = UIColor.greenColor();
endScore.text = "NEW HIGHSCORE! Score: " + String(score) + " HighScore: " + String(topScore);
} else {
endScore.text = "Score: " + String(score) + " HighScore: " + String(topScore);
}
Einsicht ist gefragt! :)
Wenn Sie eine globale Variable mit dem Namen haben ' punkten, dann erzeugt das Erstellen einer Eigenschaft in Ihrem View-Controller mit demselben Namen, dass Ihr View-Controller nur seine eigene lokale Eigenschaft bearbeitet und Ihre globale Variable nicht ändert. – dan
Post mehr Code. – random
@dan Tut mir leid, ich merke jetzt, dass es keine globale Variable ist, mein CS-Lehrer hat es mir gesagt und ich war verwirrt, bis ich merkte, dass er falsch lag. – Zacx