处理 Swift 2.0 中的转换错误

Handling a conversion error in Swift 2.0

我有一个文本字段。在我的代码中,我将 myTextField.text 转换为整数。如果我想在有人输入 Int 以外的输入时处理错误,我将如何在 Swift 2.0 中处理这个错误?

Int 使用 init?(_ text: String, radix: Int = default) 构造函数,其中 returns 一个 Int?(可选 Int)如果值是 nil不是 Int。使用可选绑定 if let来处理这两种情况:

if let value = Int(myTextField.text ?? "") {
    // use value which is an Int
} else {
    print("value was not an Int")
}

注意:由于 myTextField.textString?,它可能是 nil,所以使用 nil 合并运算符 ??nil 时使用空字符串 ""。这安全地打开 myTextField.text 或使用 "".


如果您有一个 默认值 用于未输入有效 Int 的情况,那么您可以使用 nil 合并运算符 ?? 以分配该值:

// Use 0 if the value is not an Int
let value = Int(myTextField.text ?? "") ?? 0