2011年4月13日 星期三

[轉] 使用 arc4random() 取得亂數值的方法

from : http://www.furnace.idv.tw

取得亂數的方式有很多,筆者認為其中 arc4random() 函式最為好用,
取得的亂數值不會是固定的順序之外,也不需要事先設定亂數種子,比起標準的 rand(),所能取的亂數值硬是要多一倍(u_int_32_t),接下來就看看要如何使用這個亂數函式,其方法如下。

在 arc4random() 的使用上與 rand() 並沒有太大的差異,只是在使用前不需要呼叫 srand() 去產生一個亂數的種子來決定亂數。下面演示了一個簡單的取亂數方式,我們將重 TextField 中取得一個整數值來設定取得的亂數的範圍,使用取餘數(mod %)的概念,將取得的亂數值設限在我們所規定的範圍之內。

//取得一個整數值來設定取得的亂數的範圍 int dividend = [dividendTextField.text intValue];  //取得亂數之後加上1即可略過亂數是0的部份 int randomNUM = 1 + arc4random() % dividend;  //輸出 randomLabel.text = [NSString stringWithFormat:@"%d", randomNUM];

沒有留言:

張貼留言