无法使用可选变量进行计算

时间:2019-05-22 16:04:35

标签: swift

我有一个带有2个文本字段的简单应用 用户只需要输入服务年薪 我只需要乘以它们。 想要输出到文本标签

(1)我检查了零,并且代码通过 (2)但我无法将值转换为Int进行乘法 (3)调试部分,只需将Int(UserInputVariable.txt)*乘以任意数字 (4)然后打印。没有输出到调试屏幕

 if let var1 = Int(staffYrOfServiceTextField.text!) {   
      let mult = var1 * 3
      print(mult)                            
 }

我希望输出到调试屏幕

2 个答案:

答案 0 :(得分:0)

您永远不会在输出调试器中“验证” var1是否为nil。

 if let var1 = Int(staffYrOfServiceTextField.text!) {   
      let mult = var1 * 3
      print(mult)                            
 } else {
    // If reach here, then Int(staffYrOfServiceTextField.text!) is nil.
    print(staffYrOfServiceTextField.text)
    print("staffYrOfServiceTextField text does not conform to int or is nil")
 }

答案 1 :(得分:0)

根据您的问题陈述,可能有两种解决方法:

1)当textField的键盘类型仅为数字时,您可以确定输入绝对是整数。

if let salary = txtFld_Salary.text, let exp = txtFld_YearOfExperience.text {
            let multi = Int(salary)! * Int(exp)!
            print(multi)
        }

2)如果您尚未定义键盘类型,并且用户可以在其中输入字符串值,请使用以下代码获取乘法:

        if let salary = txtFld_Salary.text, let exp = txtFld_YearOfExperience.text {
            if let intSalary = Int(salary), let intExp = Int(exp) {
                let multi = intSalary * intExp
                print(multi)
            }
        }