不能用 (@lvalue Bool, ($T5)) 类型的参数列表调用 '!='
cannot invoke '!=' with an argument list of type (@lvalue Bool, ($T5))
标题是我在编译此代码片段@第 3 行时收到的错误消息:
var categoryMatch = (scope == "All") || (candy.category == scope)
var stringMatch = candy.name.rangeOfString(searchText)
return categoryMatch && (stringMatch != nil);
这里有什么问题?
谢谢
我猜函数的 return 类型不只是 Bool
。
categoryMatch && (stringMatch != nil)
创建布尔值。
也许您的函数 return 类型是 (Bool,Bool)
的元组。
那么您正确的 return 值应该类似于
return (categoryMatch , (stringMatch != nil))
问题是 rangeOfString:
return 不能等同于 nil
的 NSRange
。而不是检查 location
属性 of NSRange
.
您需要将 return 语句更改为:
return categoryMatch && (stringMatch.location != NSNotFound)
参考文献:
标题是我在编译此代码片段@第 3 行时收到的错误消息:
var categoryMatch = (scope == "All") || (candy.category == scope)
var stringMatch = candy.name.rangeOfString(searchText)
return categoryMatch && (stringMatch != nil);
这里有什么问题?
谢谢
我猜函数的 return 类型不只是 Bool
。
categoryMatch && (stringMatch != nil)
创建布尔值。
也许您的函数 return 类型是 (Bool,Bool)
的元组。
那么您正确的 return 值应该类似于
return (categoryMatch , (stringMatch != nil))
问题是 rangeOfString:
return 不能等同于 nil
的 NSRange
。而不是检查 location
属性 of NSRange
.
您需要将 return 语句更改为:
return categoryMatch && (stringMatch.location != NSNotFound)
参考文献: