Swift version: 5.6
Modern Swift code will use Swift’s own shuffle()
and shuffled()
methods, but sometimes you might find code that does it by hand using arc4random_uniform()
or similar.
Nate Cook wrote a simple shuffle()
extension to arrays that implements the Fisher-Yates shuffle algorithm in Swift. Here's the code:
extension Array {
mutating func customShuffle() {
for i in 0 ..< (count - 1) {
let j = Int(arc4random_uniform(UInt32(count - i))) + i
swapAt(i, j)
}
}
}
SPONSORED In-app subscriptions are a pain to implement, hard to test, and full of edge cases. RevenueCat makes it straightforward and reliable so you can get back to building your app. Oh, and it's free if your app makes less than $10k/mo.
Sponsor Hacking with Swift and reach the world's largest Swift community!
Available from iOS 2.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.