===== Swift 4.2 / Xcode 10 =====
let randomIntFrom0To10 = Int.random(in: 1..<10)
let randomFloat = Float.random(in: 0..<1)
// if you want to get a random element in an array
let greetings = ["hey", "hi", "hello", "hola"]
greetings.randomElement()
내부적으로 Swift는 arc4random_buf
작업을 수행하는 데 사용 합니다.
===== 스위프트 4.1 / Xcode 9 =====
arc4random()
0 에서 4 294 967 295 범위의 난수를 반환합니다.
drand48()
0.0 에서 1.0 사이 의 난수를 반환합니다.
arc4random_uniform(N)
0 에서 N-1 범위의 난수를 반환합니다.
예 :
arc4random() // => UInt32 = 2739058784
arc4random() // => UInt32 = 2672503239
arc4random() // => UInt32 = 3990537167
arc4random() // => UInt32 = 2516511476
arc4random() // => UInt32 = 3959558840
drand48() // => Double = 0.88642843322303122
drand48() // => Double = 0.015582849408328769
drand48() // => Double = 0.58409022031727176
drand48() // => Double = 0.15936862653180484
drand48() // => Double = 0.38371587480719427
arc4random_uniform(3) // => UInt32 = 0
arc4random_uniform(3) // => UInt32 = 1
arc4random_uniform(3) // => UInt32 = 0
arc4random_uniform(3) // => UInt32 = 1
arc4random_uniform(3) // => UInt32 = 2
arc4random_uniform () 은 arc4random() % upper_bound
상한이 2의 거듭 제곱이 아닐 때 "모듈로 바이어스"를 피하기 때문에 같은 구조보다 권장 됩니다.