Swiftで乱数を生成する
Swiftで乱数を生成する場合、従来では以下のようにする必要がありました。
// 1~9の値を取得する場合
let random = arc4random_uniform(10)
// 1~99の乱数を取得する場合
let random = arc4random() % 100
としたり、自分で乱数生成用のクラスを実装したり、大変でした...。
RandomKitインストール
特に意識することなく直感的に乱数を使用することができるライブラリRandomKitをインストールします。
Carthageでインストール
Cartfileに以下を記述します。
github "nvzqz/RandomKit"
以下を実行し、ライブラリをビルドします。
$ carthage update --platform iOS
Run ScriptのInput Fileに
$(SRCROOT)/Carthage/Build/iOS/RandomKit.framework
を追加します。
ソースにインポート
import RandomKit
使ってみる
数値文字を範囲から
数値、文字で使えます。
自分で数値や文字の範囲を決めて指定するだけです。
また、数字に関してはrandom(to: )を使用することで、
0から指定値までの値を得ることができます。
Int.random(within: -100...100)) // -100~100
Double.random(within: -11.2...22.3) // -11.2~22.3
Character.random(within: "a"..."z") // a~z
Int.random(to: 100) // 0~100
Double.random(to: 0.9) //0~0.9
配列や文字列から要素を抽出
配列や文字列などからも要素を抽出することもできます。
["Bob", "Cindy", "May", "Charles", "Javier"].random // Cindy
"Hello".characters.random // e
シャッフル
配列の要素をシャッフルすることができます。
// Array
var a = [1, 2, 3, 4, 5]
a = a.shuffled() // [3, 4, 1, 5, 2]
// Dictionary
var b = ["a": 1, "b": 2, "c": 3]
b.shuffled() // ["a": 3, "b": 1, "c": 2]
他の型における使用方法については、RandomKitのReadmeをご覧ください。