无法调用'!='使用类型的参数列表(@lvalue Bool,($ T5))

时间:2015-01-10 07:43:54

标签: xcode swift nsstring nsrange

标题是我在编译此代码片段时获得的错误消息@ line3:

var categoryMatch = (scope == "All") || (candy.category == scope)
var stringMatch = candy.name.rangeOfString(searchText)
return categoryMatch && (stringMatch != nil);

这里的问题是什么?

由于

2 个答案:

答案 0 :(得分:2)

问题是rangeOfString:返回的NSRange不能等同于nil。而不是检查location的{​​{1}}属性。

您需要更改返回语句,如:

NSRange

参考文献:

答案 1 :(得分:0)

我猜测函数的返回类型不仅仅是Bool

categoryMatch && (stringMatch != nil)创建一个Bool值。

也许你的函数返回类型是(Bool,Bool)的元组。 那么你的正确返回值应该是

return (categoryMatch , (stringMatch != nil))