我在tableView中放置了一个searchBar,并将JSON解析为tableView,搜索工作正常,但我想搜索多个对象。此代码适用于最新筛选的RequestBody。我想同时搜索requestTitle and RequestBody
。
我怎样才能解决这个问题?`
func searchBar(_ searchBar: UISearchBar, textDidChange searchText: String) {
if searchBar.text == nil || searchBar.text == "" {
inSearchMode = false
tableView.reloadData()
view.endEditing(true)
} else {
inSearchMode = true
_ = searchBar.text!.lowercased()
filteredRequest = pdvRequest.filter({ (pdv: PdvRequest) -> Bool in
return pdv.pdvRequestTitle.lowercased().contains(searchText.lowercased())
})
filteredRequest = pdvRequest.filter({ (pdv: PdvRequest) -> Bool in
return pdv.pdvRequestBody.lowercased().contains(searchText.lowercased())
})
self.tableView.reloadData()
}
}//END
`
最佳答案
您可以尝试,使用||
搜索其中任何一个文件中的文本,或使用&&
搜索两个文件中的内容
filteredRequest = pdvRequest.filter({ (pdv: PdvRequest) -> Bool in
return pdv.pdvRequestTitle.lowercased().contains(searchText.lowercased()) && pdv.pdvRequestBody.lowercased().contains(searchText.lowercased())
})