Swift version: 5.6
You can generate random numbers by calling the random()
method on whatever numeric type you’re using, providing the range you want to work with. For example, this generates a random number in the range 1 through 5, inclusive on both sides:
let randomInt = Int.random(in: 1...5)
Similar methods exist for Double
, Float
, and CGFloat
:
let randomDouble = Double.random(in: 1...100)
let randomFloat = Float.random(in: 1..<10)
let randomCGFloat = CGFloat.random(in: 1...1000)
There’s also one for booleans, generating true or false randomly:
let randomBool = Bool.random()
Checking a random boolean is effectively the same as checking Int.random(in: 0...1) == 1
, but it helps clarify your intent.
TAKE YOUR SKILLS TO THE NEXT LEVEL If you like Hacking with Swift, you'll love Hacking with Swift+ – it's my premium service where you can learn advanced Swift and SwiftUI, functional programming, algorithms, and more. Plus it comes with stacks of benefits, including monthly live streams, downloadable projects, a 20% discount on all books, and free gifts!
Sponsor Hacking with Swift and reach the world's largest Swift community!
Available from iOS 8.0 – see Hacking with Swift tutorial 35
This is part of the Swift Knowledge Base, a free, searchable collection of solutions for common iOS questions.
Link copied to your pasteboard.