Swift1.xでは、「”123″」といった整数を表す文字列を。整数に変換するにはString型のtoInt()メソッドを使用していました。
var str = "134" var num = str.toInt()
swift2.x以降ではtoInt()メソッドが廃止されました。
Int()イニシャライザ
Swift2.x以降ではInt型のInt()イニシャライザを使用して文字列を整数に変換します。toStr()メソッドと同様に戻り値はオプショナル型なので、値を取り出すには変数/定数の後ろに「!」を記述してアンラップします。
var str = "134" var num = Int(str)!
オプショナルバインディングを使用する
ただし、値が「”a3cd”」のように整数値に変換できない場合には実行時にエラーとなります。より安全にアンラップするには、次のようにオプショナルバインディングを使用するとよいでしょう。
次の例では変数yearStrを整数に変換して1を足してnextYearに格納し「〜年の翌年は〜年です」と表示します。変換できない場合には「変換できません」と表示します。
var yearStr = "1980" var nextYear = 0 if var year = Int(yearStr) { nextYear = year + 1 print("\(yearStr)年の翌年は\(nextYear)年") } else { print("変換できません") }