我是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)
}
答案 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)
}