【发布时间】:2015-11-03 02:58:54
【问题描述】:
我有一个文本字段。在我的代码中,我将 myTextField.text 转换为整数。如果我想在有人输入 Int 以外的输入的情况下处理错误,我将如何在 Swift 2.0 中处理这个错误?
【问题讨论】:
-
Try, do, catchstackoverflow.com/questions/30737262/…
我有一个文本字段。在我的代码中,我将 myTextField.text 转换为整数。如果我想在有人输入 Int 以外的输入的情况下处理错误,我将如何在 Swift 2.0 中处理这个错误?
【问题讨论】:
Try, do, catch stackoverflow.com/questions/30737262/…
对Int 使用init?(_ text: String, radix: Int = default) 构造函数,该构造函数返回一个Int?(可选Int),如果值不是Int,它将是nil。使用可选绑定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 合并运算符 @987654338 @ 分配该值:
// Use 0 if the value is not an Int
let value = Int(myTextField.text ?? "") ?? 0
【讨论】: