Random Generator in swift with example
This tutorial shows multiple ways to generate random generators in Swift with examples.
Generator Random Number between 1 and 10
In Swift, Each primitive type has a static random
function.
- Int.random
- Float.random
- Double.random
- Bool.random()
These types of functions return a random value. Let’s see an example to generate a random number for the Int class.
static func random(in: Range<Self>) -> Self
The range contains below types.
m...n
which is inclusive of m and nm..<n
that is inclusive of m and exclusive n
Here is an example to generate random numbers between 1 and 10.
import Foundation
let randomValue = Int.random(in: 1...10)
print(randomValue) //6
let randomValue1 = Int.random(in: 1..<11)
print(randomValue1) //8
Generate Random Boolean values in swift
Bool contains true and false values.
It has a random() method that returns random true or false values. Here is an example code
import Foundation
let randomValue = Bool.random()
print(randomValue)
let randomValue1 = Bool.random()
print(randomValue1)
On running the above code multiple times, It returns random true and false values. Output
true
false
How to generate a Random Number from an array in Swift?
Sometimes, We want to generate random numbers from an array.
Array provides randomElement() that returns a random number from an array.
Here is a code that returns a single random number
var numbers=[1,2,3,4,5,6,7,8,9]
let random=numbers.randomElement()
print( random as Any)
Let’s see an example to generate multiple random numbers.
First, Shuffle the array using the shuffled() method Next, return a sub-array using the prefix method with the given return array size.
var numbers=[1,2,3,4,5,6,7,8,9]
let random=numbers.shuffled()
print( random.prefix(2)) // [4,8]
Generate Random Number from a Dictionary
Dictionary
is a data structure that holds key and values
In this example, Create a Dictionary
with type Int and String value, assigned with default data. randomElement() is called return random object from Dictionary. call key and value to return random key and value.
Here is an example
var emps: [Int:String] = [
1:"john", 2: "eric", 3: "mark", 4: "ram", 5: "sai"
]
let element=emps.randomElement();
print( element?.key as Any)
print( element?.value as Any)
Optional(1)
Optional("john")
Other Random Generator methods
The following example explains about generating random numbers in float, double and CGFloat.
import Foundation
let randomFlat = Float.random(in: 0...2.222)
print(randomFlat) //0.32214516
let randomFloat = Double.random(in: 1..<3.3)
print(randomFloat) //1.3594377264297153
let cgFloat=CGFloat.random(in: 0..<10.12344)
print(cgFloat) //3.75995901059995