1. func arc4random() ->UInt32
arc4random()@H_301_0@如果要生成一个生成在一定范围内的随机整数,可以这么写:
func randomIn(#min: Int,max: Int) -> Int { return Int(arc4random()) % (max - min + 1) + min }该方法会生成[min,max]范围内的随机整数
@H_301_0@如果需要生成随机浮点数,基本思路相同,只不过多了一步 @H_301_0@因为arc4random返回值的类型为UInt32,也就是32位整形, 所以其返回的最大值用十六进制表示就是0xFFFFFFFF @H_301_0@所以我们可以这样得到一个[0,1]范围内的随机小数
Float(arc4random()) / 0xFFFFFFFF
@H_301_0@将生成的小数适配到我们需要的范围中
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)可以生成[0, 4)的随机整数