【发布时间】:2016-12-12 02:44:52
【问题描述】:
我尝试为类似于高/低游戏的游戏制作 if else 语句。当您单击该按钮时,该语句似乎跳过了 if NewNumber <= oldNumber 部分并直接进入 else 部分。它应该检查新的整数和旧的整数,看看它是更高还是更低。
只做了一小会儿,所以我不确定我做错了什么
//Lower Button
@IBAction func lowerButton(sender: AnyObject) {
var newNumber = randomIntBetween(2, high: 26)
var oldNumber: Int?
func lowerNumber() -> Int {
if newNumber <= oldNumber {
correctWrongLabel.text = "You Were Correct!"
scoreLabel.text = "Score: \(countWin++)"
} else {
correctWrongLabel.text = "You Were Wrong!"
scoreLabel.text = "Score: \(countLose)"
}
return newNumber
}
let newValue = lowerNumber()
randomIntLabel.text = "\(newValue)"
}
【问题讨论】:
-
做过任何基本的调试,比如检查
newNumber和oldNumber的值是什么? -
在方法中打一个断点,然后打印出newNumber和oldNumber的值。如果它转到 else 语句,则意味着 newNumber 大于 old number
-
你显示的代码没有在任何地方设置 oldNumber 的值,所以要么你缺少一些代码,要么就是你的问题。
-
这看起来像是从接受的答案stackoverflow.com/a/38769978/1187415 到您上一个问题的代码。如果这不起作用,那么您应该询问答案的作者以进行澄清。
标签: swift integer comparison optional