我正在使用带有搜索栏的表格视图,它带有多个搜索输入并过滤表格,但我收到以下消息:
“参数类型'String.Type'不符合预期类型'StringProtocol'”
var arrayFilter = [[]]
func searchBar(_ searchBar: UISearchBar, textDidChange searchText: String) {
self.arrayFilter = array.filter{
if let pos = ($0[0] as! String).lowercased().range(of:String)(searchText.lowercaseString) {
return (pos.startIndex == ($0[0] as! String).startIndex)
}
return false
}
tableView.reloadData()
}
抛出错误的行是:
if let pos = ($0[0] as! String).lowercased().range(of:String)(searchText.lowercaseString) {
return (pos.startIndex == ($0[0] as! String).startIndex)
答案 0 :(得分:0)
看来你在那里只有一个错字。实际上这根本不应该编译,因为它不是有效的Swift代码。
问题在于:
.range(of:String)(searchText.lowercaseString)
您需要更改为:
.range(of: searchText.lowercaseString)