解开警卫队的let陈述

时间:2019-07-27 18:32:54

标签: swift optional guard forced-unwrapping

我正在使用小费计算器应用程序。我正在尝试使用guard let创建个性化值(textField),以便可以在用户希望的提示中进行转换。 该应用程序可在Xcode模拟器中完美运行。但是,当我在实际的iPhone中尝试使用该错误时,就会出现我正在努力解决的错误。

不幸的是,我尝试使用!而不使用,但它一直失败。 我还使用了if let。 我使用过??,但由于它不是特定值,所以无法使用。

func calculateAllTips() {
    guard let subtotal = convertCurrencyToDouble(input: subtotal) else {
        print("Not a number")
        return
    }

    let tip1 = calculateTip(subtotal: subtotal, tipPercentage: 10.0)
    let tip2 = calculateTip(subtotal: subtotal, tipPercentage: 15.0)
    let tip3 = calculateTip(subtotal: subtotal, tipPercentage: 20.0)

    tenPercentTip.text = convertDoubleToCurrency(amount: tip1)
    fifteenPercentTip.text = convertDoubleToCurrency(amount: tip2)
    twentyPercentTip.text = convertDoubleToCurrency(amount: tip3)

guard let语句后的代码无法执行,因为该值实际上对我的应用程序是有效的,但直接以“不是数字”形式出现。

0 个答案:

没有答案