UITextFieldのTextをInt型に変換する


UITextField.textはオプショナル型(String?)です。
大量のUITextFieldのTextをIntに変換したいとき、ひとつひとつUnwrapしたり ?? を使うのは大変です。

なのでUITextFieldを拡張してメソッドを追加しました。

import UIKit

extension UITextField {
    var textToInt: Int {
        let text = self.text
        let int = text
            .flatMap{Int($0)} ?? 0
        return int
    }
}

あとは変換したいTextFieldで呼び出すだけです。

let example: Int = textField.textToInt

参考

Swift実践入門(Amazon)