2017-05-22 58 views
0

我的目標是提高我的中獎計數器每次增加數量的用戶環路切塊用我已經嘗試了數6 像這樣:與環路

class ViewController: UIViewController { 
@IBOutlet weak var numberDisplayLabel: UILabel! 

@IBOutlet weak var jackpotCountLabel: UILabel! 



@IBAction func diceRollBtn(_ sender: UIButton) { 
    var count = 0 
    let randomNumber = arc4random_uniform((10)+1) 
    if randomNumber == 6 { 
     numberDisplayLabel.text = "Jackpot!!! You got \(randomNumber)!" 
     for count in 0..==6 { 
      jackpotCountLabel.text = "Jackpot count: \(count)" 
     } 
    } else { 
     numberDisplayLabel.text = "Unlucky! Maybe next time." 
    } 
} 

但似乎我不能使用==作爲操作員來檢查條件。 是否適合這樣的任務?

+0

目前尚不清楚你想要做什麼,請解釋。 – LinusGeffarth

+0

'arc4random_uniform((10)+1)'我試圖產生一個隨機數。如果數字是6,則用戶「贏」。我試圖增加一個計數器,每次用戶切成小塊6,所以用戶可以看到他已經切塊了多少次。6 – JVermeer

+0

我明白了,但那不是你問題所在的地方,對吧?所以解釋你的問題。爲什麼是for循環?增加櫃檯的含義是什麼? – LinusGeffarth

回答

2

幾點:

您顯示\(randomNumber)即使它總是等於6

有沒有這樣的運營商如.. ==。

count似乎是累積獎金數量的計數,但每次按下按鈕時總是將其設置爲零。變量需要存儲在函數之外,並且在每次調用函數時遞增,然後將其顯示給用戶。

我建議如下修改...

var count = 0 
@IBAction func diceRollBtn(_ sender: UIButton) { 
    let randomNumber = arc4random_uniform((10)+1) 
    if randomNumber == 6 { 
     numberDisplayLabel.text = "Jackpot!!! You got 6!" 
     count += 1 
     jackpotCountLabel.text = "Jackpot count: \(count)" 
    } else { 
     numberDisplayLabel.text = "Unlucky! Maybe next time." 
    } 
} 
+0

嗨@Vince O'Sullivan,謝謝你的回答。這解決了我的問題。玩的開心! – JVermeer

2

基本相同Vince's的答案,但利用物業觀察者didSet代替。在某些情況下,當您始終想要在標籤中顯示最新的變量值時,使用此功能可能非常方便,並且您不希望在要更改變量的任何位置添加label.text = "new string"

var count = 0 { 

    didSet { 

     self.jackpotCountLabel.text = "Jackpot count: \(count)" 
    } 
} 

var randomNumber: UInt32 = 0 { 

    didSet { 

     if randomNumber == 6 { 

      numberDisplayLabel.text = "Jackpot!!! You got \(randomNumber)!" 

      count += 1 

      return 
     } 

     numberDisplayLabel.text = "Unlucky! Maybe next time." 
    } 
} 

@IBAction func diceRollBtn(_ sender: UIButton) { 

    randomNumber = arc4random_uniform((10)+1) 
} 

Swift 3.1 Properties

+0

我喜歡它。這是一個很好的結構化答案。我唯一的評論是,雖然抽象是好的,但可能會讓初學者感到困惑。 –

+0

謝謝。我希望,最初的困惑會讓初學者深入到快速文檔的深處,以便他們能夠解鎖他們的內在宗師。 – Laffen