处理 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.text
是 String?
,它可能是 nil
,所以使用 nil 合并运算符 ??
在 nil
时使用空字符串 ""
。这安全地打开 myTextField.text
或使用 ""
.
如果您有一个 默认值 用于未输入有效 Int
的情况,那么您可以使用 nil 合并运算符 ??
以分配该值:
// Use 0 if the value is not an Int
let value = Int(myTextField.text ?? "") ?? 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.text
是 String?
,它可能是 nil
,所以使用 nil 合并运算符 ??
在 nil
时使用空字符串 ""
。这安全地打开 myTextField.text
或使用 ""
.
如果您有一个 默认值 用于未输入有效 Int
的情况,那么您可以使用 nil 合并运算符 ??
以分配该值:
// Use 0 if the value is not an Int
let value = Int(myTextField.text ?? "") ?? 0