iOSアプリ開発の逆引き辞典

iPhone/iPadで使えるアプリ開発のTipsをまとめてみました

Swiftで乱数(ランダムな値)を生成する

特定の範囲の乱数を求める際には、Objective-Cと同じようにarc4random関数を使うことができます。

//0から9までの値を取得する
let random = arc4random() % 10

上記のコードではarc4random関数で得た乱数の余剰を求めているため、arc4random関数では生成される乱数にやや偏りが発生してしまいます。

事前に0から9までの値が欲しいということが分かっているのであれば、arc4random_uniform関数を使うと良いでしょう。

//0から9までの値を取得する
let random = arc4random_uniform(10)

例えば、String型の配列からランダムに1つ取り出す場合には以下のように書くことができます。

var titles: [String] = [ "ほげ", "ぽよ", "ぴよ", "ぷよ" ]
let index = (Int)(arc4random_uniform(4))
println("\(titles[index])")

Objective-Cで乱数を生成する場合は以下の記事を御覧ください。

ios.ch3cooh.jp