Returns a random element of the collection, using the given generator as a source for randomness.
SDKs
- iOS 7.0+
- macOS 10.9+
- Mac Catalyst 13.0+
- tvOS 9.0+
- watchOS 2.0+
- Xcode 10.0+
Framework
- Foundation
Declaration
func randomElement<T>(using generator: inout T) -> UInt8? where T : Random Number Generator
Parameters
generator
The random number generator to use when choosing a random element.
Return Value
A random element from the collection. If the collection is empty, the method returns nil
.
Discussion
Call random
to select a random element from an array or another collection when you are using a custom random number generator. This example picks a name at random from an array:
let names = ["Zoey", "Chloe", "Amani", "Amaia"]
let randomName = names.randomElement(using: &myGenerator)!
// randomName == "Amani"
Complexity: O(1) if the collection conforms to Random
; otherwise, O(n), where n is the length of the collection.
Note
The algorithm used to select a random element may change in a future version of Swift. If you’re passing a generator that results in the same sequence of elements each time you run your program, that sequence may change when your program is compiled using a different version of Swift.