2016-09-28 52 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.`