目前正在尝试检查我刚刚从字符串转换为双精度值的三个值是来自UITextFields nil
,aValue
和bValue
的{{1}}。
我从这些变量中得到编译错误,直到代码块底部的if语句(如下所示)导致编译错误显示为cValue
。
Cannot invoke '!-' with an argument list of type '($T10, $T14)'
任何人都可以帮我修复此错误吗?任何帮助是极大的赞赏。谢谢
答案 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)
}