Objective-c並沒有直接提供隨機數據生成的函數或方法,不過我們可以直接利用c的各種隨機算法
以下是幾種常見的隨機數算法的使用,可以參照以下頭文件
stdlib.h
arc4random
不需要隨機種子,在調用時自動生成隨機種子
返回[0,X)的集合
int value = arc4random() % x;
返回[1,X]的集合
int value = (arc4random() % x) + 1;
random()/rand()
不使用種子隨機數,返回long/int范圍內的任意一個數
注意這裡的 random返回long rand返回int
srandom(unsigned)/srand(unsigned)
使用隨機種子,返回參數到RAND_MAX之間的任意一個數
注意這裡的 srandon可以使用 unsigned long作為參數
需要注意的是,rand系列隨機數使用的是偽隨機算法,調用時建議使不同的用隨機種子
例如:
srand(time(NULL))