如何比较Swift中的随机数

时间:2015-09-30 08:23:01

标签: swift random arc4random

我是编程的初学者,在Swift中使用arc4random_uniform()函数。到目前为止,我正在制作的程序生成一个由UIButton重新生成的1-10的随机数。但是,如果下一个生成的数字大于当前保存的数字,我希望初始化为随机数的变量“最高”更新。例如,随机数为6,存储在最高位置,如果下一个数字为8,则最高为8.我不知道该怎么做。我已将UIButton连接到IBAction函数并具有以下代码:

    var randomValue = arc4random_uniform(11) + 1
    highest = Int(randomValue)

    if (Int(randomValue) < highest) {
        // Don’t know what to do
    }

1 个答案:

答案 0 :(得分:1)

highest初始化为0

每次生成新的随机数时,请将最高值替换为两个数字中的较高者

highest = max(highest, randomValue)

max()函数是Swift标准库的一部分,并返回在vales中传递的两个函数中较大的一个。

已修改以添加

这是一个游乐场,展示了更多细节,包括类型的演绎:

var highest: Int = 0

func random() -> Int {
    let r = arc4random_uniform(10) + 1
    return Int(r)
}

var randomValue = random()
highest = max(highest, randomValue)

您可以看到多个呼叫持续存在最高值。

enter image description here