Swift version: 5.6
A so-called “fair” random number generator is one that generates each of its possible values in equal amounts and with an even distribution. For example, if you were generating numbers between 1 and 4, you might get 4, 2, 1, 3, but you would never get 4 4 1 4.
GameplayKit has support for fair random number generation using GKShuffledDistribution
. First, add an import for the GameplayKit framework:
import GameplayKit
Second, create an instance of GKShuffledDistribution
, telling it the lowest and highest values it can generate:
let distribution = GKShuffledDistribution(lowestValue: 1, highestValue: 8)
Finally, call nextInt()
on it as needed to generate numbers. You should get all numbers between 1 and 8 at least once before you see any repeated.
SPONSORED From March 20th to 26th, you can join a FREE crash course for mid/senior iOS devs who want to achieve an expert level of technical and practical skills – it’s the fast track to being a complete senior developer!
Sponsor Hacking with Swift and reach the world's largest Swift community!
Available from iOS 9.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.