二进制运算符不能应用于类型“NSError”的操作数和“NilLiteralConvertible”
问题描述:
我有以下代码:二进制运算符不能应用于类型“NSError”的操作数和“NilLiteralConvertible”
if ((error) != nil) {
print(error, terminator: "")
}
在我夫特程序(从夫特1转换为夫特2)
但Xcode是抱怨
二元运算符 '!=' 不能应用于类型 'NSError' 的操作数和 'NilLiteralConvertible'
上述行有什么问题?
答
只需使用下面的代码尝试和它的作品
if (error != [])
{
// do whatever u want
}
或另一种选择是使用SWIFT 2.0
+3
你能解释一下吗?这种比较的正确方面是什么? –
你'error'可用try catch块是类型NSError'的'。它不是可选的,所以你不能将它与'nil'进行比较。 – vacawama
如果你让Xcode转换为新的语法,它可能会用'do try catch'块包围你的代码。如果你的代码在'catch'块内,错误永远不会是'nil'。 – Koraktor
请显示更多代码,包括错误声明。 – sbooth