我一直在xCode中构建,juts在if语句中遇到了这个错误:
Could not find overload for '==' that accepts that accepts the supplied arguments
这是生成它的代码
if (err == nil && token != nil) {
...
}
错误的类型为let err: NSError?
,令牌为var token = body as! NSString
这似乎是造成错误的第一个条件。任何帮助或建议都会很棒。
答案 0 :(得分:2)
您的问题是token
不是可选的,因为您正在使用as!
。
摆脱强制类型转换来解决这个问题,让token
成为一个可选项:
let token = body as? NSString
顺便说一下,你不需要条件周围的括号,你可以这样写:
if err == nil && token != nil {
}
答案 1 :(得分:0)
在我定义一个int的类似问题中,如果用户输入了一个数字,它会存储它。我有一个案例,如果用户没有输入....如果(数字==零),我有同样的问题。因为我将它定义为int,所以它不喜欢将它变为空,所以我将int转换为字符串并且它有效。
所以也许找到你定义“err”和“token”的位置,看看是否需要转换或某些东西。 var stringError = err并强制使用它!或者转换为String(错误)。