Swift不允许我使用`!=`

nam*_*ore 1 null if-statement ios swift

目前正在检查三个值,我刚刚从字符串转换为双打,都是nil从UITextFields aValue,bValuecValue.

我不会从这些变量中得到编译错误,直到代码块底部的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
Run Code Online (Sandbox Code Playgroud)

任何人都可以帮我解决这个错误吗?任何帮助是极大的赞赏.谢谢

Chr*_*ian 7

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