我正在创建一个包含除法(/)的简单计算器。我对nil值或字母词有错误处理。有什么可能的方法来保护坠机事故?
线程1:致命错误:零的余数或除数
@objc func divFunc() {
let a = Int(firstTxtField.text!)
let b = Int(secondTxtField.text!)
if (a != nil) && (b != nil)
{
resultLabel.textColor = UIColor.white
resultLabel.text = String(a! / b!)
}
else
{
resultLabel.textColor = UIColor.red
resultLabel.text = "Invalid No."
}
答案 0 :(得分:2)
不要使用所有强制展开的功能-它只是在请求崩溃。
执行除法之前请先检查0。
@objc func divFunc() {
if let a = Int(firstTxtField.text ?? ""),
let b = Int(secondTxtField.text ?? ""),
b != 0 {
resultLabel.textColor = .white
resultLabel.text = String(a / b)
}
else
{
resultLabel.textColor = .red
resultLabel.text = "Invalid No."
}
}