テキストフィールドを使用して整数に変換するアプリケーションで作業していました。以前は私のコード
textField.text.toInt()
働いた。 Swiftはこれをエラーとして宣言し、実行するように指示しています
textField.text!.toInt()
toInt()
が存在せず、Int()
を使用しようとしています。それも機能しません。今何があったの?
Swift 2.xでは、String
から.toInt()
関数が削除されました。代わりに、Int
にString
を受け入れる初期化子が追加されました
Int(myString)
あなたの場合、Int(textField.text!)
の代わりにtextField.text!.toInt()
を使用できます
Swift 1.x
let myString: String = "256"
let myInt: Int? = myString.toInt()
Swift 2.x、3.x
let myString: String = "256"
let myInt: Int? = Int(myString)
let myString: NSString = "123"
let myStringToInt: Int = Int(myString.intValue)
文字列をオブジェクトNSStringとして宣言し、intValueゲッターを使用します
これを元に戻す独自の拡張メソッドを作成するのは簡単です:
extension String {
func toInt() -> Int? {
return Int(self)
}
}
支払い処理アプリでも同じ問題が発生しました。 Swift 1.0
let expMonth = UInt(expirationDate[0].toInt()!)
let expYear = UInt(expirationDate[1].toInt()!)
Swift 2.0の後
let expMonth = Int(expirationDate[0])
let expYear = Int(expirationDate[1])