斯威夫特不允许我使用`!=`

时间:2015-06-15 22:15:51

标签: ios swift if-statement null

目前正在尝试检查我刚刚从字符串转换为双精度值的三个值是来自UITextFields nilaValuebValue的{​​{1}}。

我从这些变量中得到编译错误,直到代码块底部的if语句(如下所示)导致编译错误显示为cValue

Cannot invoke '!-' with an argument list of type '($T10, $T14)'

任何人都可以帮我修复此错误吗?任何帮助是极大的赞赏。谢谢

2 个答案:

答案 0 :(得分:7)

doubleValue不能为零。 NSString的double值是一个简单类型(double),并且不能将nil作为值,因此编译器无法比较它们。您可以检查NSString是否为nil或者doubleValue是否为0。

答案 1 :(得分:3)

我更喜欢更紧凑的let链版本:

if let a = Double(aValue.text!),
   let b = Double(bValue.text!),
   let c = Double(cValue.text!) {
    println(true)
}