在Swift中生成随机数有很多方法可以达到目的
这里介绍最简单的两种方法,第一种是使用arc4random()函数, 第二种是使用arc4random_uniform()函数
1. func arc4random() ->UInt32
arc4random()
如果要生成一个生成在一定范围内的随机整数,可以这么写:
func randomIn(#min: Int, max: Int) -> Int {
return Int(arc4random()) % (max - min + 1) + min
}
该方法会生成[min, max]范围内的随机整数
如果需要生成随机浮点数,基本思路相同,只不过多了一步
因为arc4random返回值的类型为UInt32, 也就是32位整形, 所以其返回的最大值用十六进制表示就是0xFFFFFFFF
所以我们可以这样得到一个[0, 1]范围内的随机小数
Float(arc4random()) / 0xFFFFFFFF
将生成的小数适配到我们需要的范围中
func random() -> Float {
return Float(arc4random()) / 0xFFFFFFFF
}
func randomIn(#min: Float, max: Float) -> Float {
return random() * (max - min + 1) + min
}
2. func arc4random_uniform(_:UInt32) ->UInt32
arc4random_uniform(4)