隨機數生成

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,但只要注意超出範圍。