简短描述:
我得到一个名为UserValue的值。这将来自一个响应。我有一个Confirm按钮按下方法。每次我需要检查用户输入的金额是否大于UserValue金额。
但有时该值将UserValue为零。该时间不应检查文本字段中输入的金额是否大于UserValue
现在我的代码是:

 @IBAction func confirmButnClicked(_ sender: Any) {
 print(UserValue)
 let Mvalue = Double((UserValue.formattedAmount()))
                    let stringValue = Int(Mvalue!)

 if doubleValue < stringValue {
      DialogUtils.showMessageWithOk(controller: self, message:  "Maximum Value is : \(UserValue)")

  }
}

当我在UserValue中得到某个值时,它工作正常,但是当我在这里得到nill值时,它崩溃了……我如何处理这个问题:
let stringValue = Int(Mvalue!)   // crash here

提前谢谢!!

最佳答案

您正在强制展开nil,因为它会崩溃。
检查UserValue是否nil。如果不nil则进行比较

 @IBAction func confirmButnClicked(_ sender: Any) {
     print(UserValue)

     if let UserValue = UserValue {
       if let Mvalue = Double((UserValue.formattedAmount())) {
          if let stringValue = Int(Mvalue) {
           if doubleValue < stringValue {
               DialogUtils.showMessageWithOk(controller: self, message:  "Maximum Value is : \(UserValue)")
            }
          }
        }
     }
}

10-08 15:42