2016-09-28 78 views
0

我在swift中制作游戏,我有一个名为score的变量,我在我的onTick()方法中增加并打印这个变量,并且它工作正常。然而,当我尝试访问这个变量来显示玩家死后的最终分数时,我得到0或者任何初始值。Swift变量赋予错误值

初始化:

class ViewController: UIViewController { 
var score = 0; 

递增:

scoreCounter.text = String(self.score); 
self.score += 1; 

试图在最后阶段将其显示:

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); 
} 

任何有识之士的赞赏! :)

+3

如果您有一个名为全局变量'评分“,然后在您的视图控制器中创建一个属性,并使用相同的名称将导致您的视图控制器只编辑它自己的本地属性,而不会更改您的全局变量。 – dan

+2

发布更多代码。 – random

+0

@dan对不起,我意识到现在它不是一个全局变量,我的CS老师告诉我这是,我很困惑,直到我意识到他错了。 – Zacx

回答

0

我通过使静态变量解决了这个,我不知道这是正确的解决方案,但它是为我工作,谢谢大家的help.`