私はスウィフトにかなり慣れていないので、水域をテストするために何かを構築しようとしています。これは私が持っていた以前の質問に関連しています。UITextField オブジェクトからユーザー入力を取得するコードを作成しています。基本的には、Int を UInt32 に変換する方法を見つけようとしていますが、SO で検索したものは何もありません。
これが私のコードです//これは、ユーザー入力を呼び出す場所です。
var rangeInput: Int? {
get {
return Int(rangeInputTextField?.text ?? "")
}
//これは、範囲を作成し、その範囲外の乱数を呼び出す関数です
let viewController = ViewController()
var x = ViewController().rangeInput
let y = (Int?(x!))
var number = arc4random_uniform(Int(y!))//ERROR OCCURS HERE "Cannot convert value of type 'Int' to expected argument type 'UInt32'
//MARK: Class for random number
struct RandomNumber {
// numberRange to change the value for 1...X(user input)
//creates the list to be picked from. (pickRandom)
func numberRange(high: UInt32) ->Range<UInt32>{
if let high = UInt32?(0){
print("Invalid number")
} else { let high = Int(y!) + 1
}
let range = 1...high
return range
}
//pick random number from that list
let pickRandom = number
}
編集: コメントで回答を使用して UInt を変換しましたが、オプションのラップ解除に問題があります。オプションのラップを強制的に解除すると何か問題がありますか?