处理 Swift 2.0 中的转换错误

Posted

技术标签:

【中文标题】处理 Swift 2.0 中的转换错误【英文标题】:Handling a conversion error in Swift 2.0 【发布时间】:2015-11-03 02:58:54 【问题描述】:

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

【问题讨论】:

Try, do, catch ***.com/questions/30737262/… 【参考方案1】:

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.textString?,它可能是nil,所以使用nil 合并运算符 ?? 来使用空字符串"" 当它是nil .这会安全地解开 myTextField.text 或使用 ""


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

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

【讨论】:

以上是关于处理 Swift 2.0 中的转换错误的主要内容,如果未能解决你的问题,请参考以下文章

在 Swift 中将可选绑定转换为错误处理的过程是啥?

Swift 2.0 异常处理

如何在 Swift 2.0 中获取错误消息?

Swift 2.0 异常处理

在 Swift (2.0) 中正确处理 NSJSONSerialization (try catch)?

如何使用 Swift 处理错误(FileManager 和其他一般)[关闭]