arc4random function to generate random numbers in a range.
Suppose you have to generate a random number from 0 to 99. Do:
int randomNum0to99 = arc4random() % 100;
int randomNum0to99 = arc4random_uniform(100);
Between the 2 codes, the latter is preferred because:
arc4random_uniform() will return a uniformly distributed random number less than upper_bound.
arc4random_uniform() is recommended over constructions like “arc4random() % upper_bound” as it avoids “modulo bias” when the upper bound is not a power of two.
If you have to generate a random number from 11 to 30, add some math into your code:
int randomNum0to99 = arc4random_uniform(20) + 11; // For 20 numbers and minimum 11.