一尘不染

如何在Swift中生成一个随机数而不重复上一个随机数?

swift

我对Swift和编程逻辑很陌生,所以请耐心等待

如何在Swift中生成0到9之间的随机数而不重复最后生成的数字?因为相同的数字不会连续出现两次。


阅读 392

收藏
2020-07-07

共1个答案

一尘不染

将先前生成的数字存储在变量中,然后将生成的数字与先前的数字进行比较。如果它们匹配,则生成一个新的随机数。重复生成新数字,直到它们不匹配为止。

var previousNumber: UInt32? // used in randomNumber()

func randomNumber() -> UInt32 {
    var randomNumber = arc4random_uniform(10)
    while previousNumber == randomNumber {
        randomNumber = arc4random_uniform(10)
    }
    previousNumber = randomNumber
    return randomNumber
}
2020-07-07