1)String
を受け取る init メソッドがあるため、最初のコードが機能しますInt
。それからラインで
let widthLabel = label + String(width)
を作成するために、文字列を+
演算子で連結していますwidthLabel
。
2) Swift のエラー メッセージはかなり誤解を招く可能性があります。実際の問題Int
はinit
、String
. toInt
この状況では、メソッド onを使用できますString
。次に例を示します。
if let h = height.toInt() {
let heightNumber = number + h
}
andif let
ステートメントを使用して、に変換できることを確認する必要String
があります。この状況でアンラップを強制すると、アプリがクラッシュします。が に変換できない場合に何が起こるかについては、次の例を参照してください。Int
toInt
nil
height
Int
let height = "not a number"
if let h = height.toInt() {
println(number + h)
} else {
println("Height wasn't a number")
}
// Prints: Height wasn't a number
スウィフト 2.0 アップデート:
Int
を受け取るイニシャライザが追加されString
、例 2 が作成されました (上記参照)。
if let h = Int(height) {
let heightNumber = number + h
}