随机数生成
arc4random_uniform(someNumber: UInt32) -> UInt32
这将为你提供 0
到 someNumber - 1
范围内的随机整数。
UInt32
的最大值是 4,294,967,295(即 2^32 - 1
)。
例子:
-
硬币翻转
let flip = arc4random_uniform(2) // 0 or 1
-
骰子卷
let roll = arc4random_uniform(6) + 1 // 1...6
-
十月的随机日
let day = arc4random_uniform(31) + 1 // 1...31
-
20 世纪 90 年代的随机年份
let year = 1990 + arc4random_uniform(10)
一般形式:
let number = min + arc4random_uniform(max - min + 1)
number
,max
和 min
是 UInt32
。
笔记
arc4random
存在轻微的模偏差,因此首选arc4random_uniform
。- 你可以将
UInt32
值转换为Int
,但只要注意超出范围。