LoginSignup
3
3

More than 5 years have passed since last update.

arc4random_uniform に値を渡す時はUInt32とかで変換をするといいらしい

Posted at

超初心者ですが、自分用メモとしても記しておきます。誰かの役に立てば幸いです。

swift内で、ランダムな数値を取得したい際、
「arc4random_uniform」を使用しますが(ほかにもあるようですが)、

例:
var rnd = arc4random_uniform(10)

( rnd に 0から10 までの値が格納される )

これを、メンテナンス性を上げるべく、

let x = 10
var rnd = arc4random_uniform(x)

のように書き換えた場合、
Cannot invoke 'arc4random_uniform' with an argument list of type
とエラーが起きてしまいます。

その場合、「UInt32」で変換処理をすることで解決しました。
つまり、
let x = 10
var rnd = arc4random_uniform(UInt32(x))

と書くことで解決しました。

swiftは、objective-cと比べるとかなり敷居は下がりましたが、あちこちでも書かれているように、型変換についてはかなり厳しいですね。

3
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
3