我是编程和使用 Swift 中的 arc4random_uniform() 函数的初学者。到目前为止,我正在编写的程序生成一个由 UIButton 重新生成的 1-10 之间的随机数。但是,如果下一个生成的数字大于当前保存的数字,我希望初始化为随机数的变量“highest”进行更新。例如,随机数是 6,存储在最高值中,如果下一个数字是 8,最高值将变为 8。我不知道如何处理这个问题。我已将 UIButton 连接到 IBAction 函数并具有以下代码:
var randomValue = arc4random_uniform(11) + 1
highest = Int(randomValue)
if (Int(randomValue) < highest) {
// Don’t know what to do
}
最佳答案
初始化最高
为0
每次生成新的随机数时,将最高的值替换为两个数字中较大的一个
highest = max(highest, randomValue)
max()
函数是 Swift 标准库的一部分,它返回传入的两个值中较大的一个。
编辑添加
这是一个更详细地展示这一点的 Playground ,包括类型的转换:
var highest: Int = 0
func random() -> Int {
let r = arc4random_uniform(10) + 1
return Int(r)
}
var randomValue = random()
highest = max(highest, randomValue)
您可以看到多次调用始终保持最高值。
关于swift - 如何在 Swift 中比较随机数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32861274/