Swift 不允许我使用 `!=`
Swift won't allow me to use `!=`
目前正在尝试检查我刚刚从字符串转换为双精度值的三个值是否来自 UITextFields aValue
、bValue
和 cValue
。
在代码块底部的 if 语句(如下所示)导致编译错误 Cannot invoke '!-' with an argument list of type '($T10, $T14)'
.
之前,我没有从这些变量中得到编译错误
var a = (aValue.text as NSString).doubleValue
var b = (bValue.text as NSString).doubleValue
var c = (cValue.text as NSString).doubleValue
if a != nil && b != nil && c != nil
谁能帮我解决这个错误?任何帮助是极大的赞赏。谢谢
doubleValue 不能为零。 NSString 的 double 值是一个简单类型 (double),不能有 nil 作为值,因此编译器无法比较它们。您可以检查您的 NSString 是否为 nil 或者 doubleValue 是否为 0.
我更喜欢更紧凑的 let 链版本:
if let a = Double(aValue.text!),
let b = Double(bValue.text!),
let c = Double(cValue.text!) {
println(true)
}
目前正在尝试检查我刚刚从字符串转换为双精度值的三个值是否来自 UITextFields aValue
、bValue
和 cValue
。
在代码块底部的 if 语句(如下所示)导致编译错误 Cannot invoke '!-' with an argument list of type '($T10, $T14)'
.
var a = (aValue.text as NSString).doubleValue
var b = (bValue.text as NSString).doubleValue
var c = (cValue.text as NSString).doubleValue
if a != nil && b != nil && c != nil
谁能帮我解决这个错误?任何帮助是极大的赞赏。谢谢
doubleValue 不能为零。 NSString 的 double 值是一个简单类型 (double),不能有 nil 作为值,因此编译器无法比较它们。您可以检查您的 NSString 是否为 nil 或者 doubleValue 是否为 0.
我更喜欢更紧凑的 let 链版本:
if let a = Double(aValue.text!),
let b = Double(bValue.text!),
let c = Double(cValue.text!) {
println(true)
}