简单的Swift代码功能

时间:2014-09-06 22:59:31

标签: ios swift uilabel

我是Swift和移动编程的新手。我正在做一个简单的应用程序。基本上我需要从@IBOutlet标签中获取值。

@IBOutlet var currentRoll: UILabel!

以下是我的代码的一部分。在变量 totalDice 中,我需要添加 rolledDice 中存储的随机数和 currentRoll 中的值,这是一个UILabel。有没有办法可以获得在UILabel中打印的值, currentRoll

@IBAction func rollDice (sender: UIButton) {
    var rolledDice = Int(arc4random_uniform(6)+1)
    currentRoll.text = String(rolledDice)
    var totalDice = Int(rolledDice) + __________ (Value of *currentRoll* UILabel)
    totalDisplay.text = String(totalDice)
}

1 个答案:

答案 0 :(得分:0)

@ Paulw11是对的,你不应该从UI中检索这个值,但这就是你可以做到的。

在您的代码中,您刚刚更新了currentRoll,因此其文字值将与rolledDice相同 - 但我并不认为'你的意思是什么。让我们将有问题的行向上移动一个,并在我们使用新卷进行更新之前尝试获取currentRoll的值。

@IBAction func rollDice(sender: UIButton) {
    // use let instead of var whenever you can
    let rolledDice = Int(arc4random_uniform(6) + 1)

    // initialize totalDice to the newly rolled value
    var totalDice = rolledDice

    // attempt to get a value from currentRoll - String.toInt() returns an Int?
    if let currentDice = currentRoll.text.toInt() {
        totalDice += currentDice
    }

    // update both labels
    currentRoll.text = String(rolledDice)
    totalDisplay.text = String(totalDice)
}