Version
14.0
5.7
12.5
16.0
この記事では、Swiftのランダム処理について解説していきたいと思います。
Contents
乱数
0〜100まででランダムな整数(Int型)
let value = Int.random(in: 0...100)
0〜99まででランダムな整数(Int型)
let value = Int.random(in: 0..<100)
整数以外の乱数
数値型なら可能です。
let value = Double.random(in: 0...100)
let value = Float.random(in: 0...100)
let value = CGFloat.random(in: 0...100)
ランダムなフラグ
上記の乱数のように、Bool型でもランダム生成可能です。value
には、true
かfalse
が入ります。
let value = Bool.random()
配列操作
配列をランダムにシャッフル
配列の中身がシャッフルされます。
let values = ["あ", "い", "う", "え", "お"] let shuffled = values.shuffled()
配列からランダムに要素を抽出
let values = ["あ", "い", "う", "え", "お"] let shuffled = values.randomElement()
ランダムな数値の配列を生成
(0..<10).map
の部分で作る配列の個数を指定します。
let values = (0..<10).map { _ in Int.random(in: (0)...10) }
ランダムなパスワードを生成
let characters = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789" let password = String((0..<10).map{ _ in characters.randomElement()!}参考 Swiftで指定した桁数のランダムな文字列を生成Qiita
ランダムでIDを生成(UUID())
そのユーザーに対してIDをつけるときは、UUIDを使いましょう。
let uuid = UUID()
おまけ:Swift 4.1以前のランダム生成
Swift 4.1以前には、Int.random
のような.random
がありませんでした。そのため、以下のようにランダムで値を生成していました。
以下のコードは0~9でランダムの値を生成します。
let value = arc4random_uniform(10)
参考文献