web-dev-qa-db-ja.com

.toInt()はSwift 2で削除されましたか?

テキストフィールドを使用して整数に変換するアプリケーションで作業していました。以前は私のコード

textField.text.toInt() 

働いた。 Swiftはこれをエラーとして宣言し、実行するように指示しています

textField.text!.toInt()

toInt()が存在せず、Int()を使用しようとしています。それも機能しません。今何があったの?

60
Amit Kalra

Swift 2.xでは、Stringから.toInt()関数が削除されました。代わりに、IntStringを受け入れる初期化子が追加されました

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)
121
Jojodmo

スイフト2

let myString: NSString = "123"
let myStringToInt: Int = Int(myString.intValue)

文字列をオブジェクトNSStringとして宣言し、intValueゲッターを使用します

4
toddsalpen

これを元に戻す独自の拡張メソッドを作成するのは簡単です:

extension String {
    func toInt() -> Int? {
        return Int(self)
    }
}
0
Nathan

支払い処理アプリでも同じ問題が発生しました。 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])
0
Swikar