Swift Language Generación de números aleatorios


Ejemplo

arc4random_uniform(someNumber: UInt32) -> UInt32

Esto le da enteros aleatorios en el rango de 0 a someNumber - 1 .

El valor máximo para UInt32 es 4,294,967,295 (es decir, 2^32 - 1 ).

Ejemplos:

  • Lanzamiento de moneda

      let flip = arc4random_uniform(2) // 0 or 1
    
  • Tirada de dados

      let roll = arc4random_uniform(6) + 1 // 1...6
    
  • Día aleatorio en octubre

      let day = arc4random_uniform(31) + 1 // 1...31
    
  • Año aleatorio en los años 90.

      let year = 1990 + arc4random_uniform(10)
    

Forma general:

let number = min + arc4random_uniform(max - min + 1)

donde number , max y min son UInt32 .

Notas

  • Hay un ligero sesgo de módulo con arc4random por arc4random_uniform se prefiere arc4random_uniform .
  • Puede lanzar un valor UInt32 a un Int pero tenga cuidado de no estar fuera del rango.