Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Swift 二进制运算符'=';无法应用于类型为';n错误';和';NilLiteralConvertible';_Swift_Swift2 - Fatal编程技术网

Swift 二进制运算符'=';无法应用于类型为';n错误';和';NilLiteralConvertible';

Swift 二进制运算符'=';无法应用于类型为';n错误';和';NilLiteralConvertible';,swift,swift2,Swift,Swift2,我有以下代码: if ((error) != nil) { print(error, terminator: "") } 在我的Swift程序中(从Swift 1转换为Swift 2) 但是Xcode在抱怨 二进制运算符“!=”无法应用于“NSError”和“NilLiteralConvertible”类型的操作数 上面这一行有什么问题?只需尝试以下代码即可 if (error != []) { // do whatever u want } 或者其他选项是使用swift

我有以下代码:

if ((error) != nil) {
    print(error, terminator: "")
}
在我的Swift程序中(从Swift 1转换为Swift 2)

但是Xcode在抱怨

二进制运算符“!=”无法应用于“NSError”和“NilLiteralConvertible”类型的操作数


上面这一行有什么问题?

只需尝试以下代码即可

if (error != []) 
{
    // do whatever u want
}

或者其他选项是使用swift 2.0中可用的try catch block

您的
错误
类型为
NSError
。它不是可选的,因此不能将它与
nil
进行比较。如果让Xcode转换为新语法,它可能会用
do try catch
块包围代码。如果您的代码在
catch
块内,则错误永远不会是
nil
。请显示更多代码,包括
错误声明
。由于您无法将其与nil进行比较,并且它的类型为NSError,不与nil进行比较,您是否应该只打印错误而不首先检查它是否有值?如果它不是可选的,这意味着它必须有一个正确的值?如果没有错误呢@vacawama@DonAlejandro,需要显示更多代码来进一步解释它。我不知道这里的错误变量是如何创建的,但是错误消息很清楚,它不是可选的,所以不能与nil比较。你能解释一下这个吗?比较的右边是什么,一个空列表?