每次按下按钮时,我都会迅速生成一个随机数(仅0-2)。但是我不希望它连续两次生成相同的数字。
这是我所做的,但是没有用。
var currentNumber:Int = 5
var randomNumber:Int = 0
do {
randomNumber = Int(arc4random_uniform(UInt32(3)))
} while randomNumber == currentNumber
currentNumber = randomNumber
最佳答案
您需要将randomNumber
设置为ViewController
的属性,以便在按键之间记住该属性。每次只有2个有效的随机数,因此请生成一个在0
到1
范围内的数字,如果它与您之前的数字匹配,则将其更改为2
:
class ViewController: UIViewController {
// Give randomNumber an initial value
var randomNumber = Int(arc4random_uniform(UInt32(3)))
@IBAction func buttonPressed(button: UIButton) {
let currentNumber = randomNumber
randomNumber = Int(arc4random_uniform(UInt32(2)))
if currentNumber == randomNumber {
randomNumber = 2
}
}
}
这样做的优点是每次按下按钮仅需要1个随机数。