标题是我在编译此代码片段时获得的错误消息@ line3:
var categoryMatch = (scope == "All") || (candy.category == scope)
var stringMatch = candy.name.rangeOfString(searchText)
return categoryMatch && (stringMatch != nil);
这里的问题是什么?
由于
答案 0 :(得分:2)
问题是rangeOfString:
返回的NSRange
不能等同于nil
。而不是检查location
的{{1}}属性。
您需要更改返回语句,如:
NSRange
参考文献:
答案 1 :(得分:0)
我猜测函数的返回类型不仅仅是Bool
。
categoryMatch && (stringMatch != nil)
创建一个Bool值。
也许你的函数返回类型是(Bool,Bool)
的元组。
那么你的正确返回值应该是
return (categoryMatch , (stringMatch != nil))