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があります。この状況でアンラップを強制すると、アプリがクラッシュします。が に変換できない場合に何が起こるかについては、次の例を参照してください。InttoIntnilheightInt
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
}