随机数生成

arc4random_uniform(someNumber: UInt32) -> UInt32

这将为你提供 0someNumber - 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)

numbermaxminUInt32

笔记

  • arc4random 存在轻微的模偏差,因此首选 arc4random_uniform
  • 你可以将 UInt32 值转换为 Int,但只要注意超出范围。