超初心者ですが、自分用メモとしても記しておきます。誰かの役に立てば幸いです。
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と比べるとかなり敷居は下がりましたが、あちこちでも書かれているように、型変換についてはかなり厳しいですね。