二进制运算符不能应用于类型“NSError”的操作数和“NilLiteralConvertible”

问题描述:

我有以下代码:二进制运算符不能应用于类型“NSError”的操作数和“NilLiteralConvertible”

if ((error) != nil) { 
    print(error, terminator: "") 
} 

在我夫特程序(从夫特1转换为夫特2)

但Xcode是抱怨

二元运算符 '!=' 不能应用于类型 'NSError' 的操作数和 'NilLiteralConvertible'

上述行有什么问题?

+5

你'error'可用try catch块是类型NSError'的'。它不是可选的,所以你不能将它与'nil'进行比较。 – vacawama

+0

如果你让Xcode转换为新的语法,它可能会用'do try catch'块包围你的代码。如果你的代码在'catch'块内,错误永远不会是'nil'。 – Koraktor

+2

请显示更多代码,包括错误声明。 – sbooth

只需使用下面的代码尝试和它的作品

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

或另一种选择是使用SWIFT 2.0

+3

你能解释一下吗?这种比较的正确方面是什么? –