我有一个searchController,它可以很好地搜索并填充正确的值。但是,如果searchingText
和values
,这些代码会返回值。我需要搜索栏才能进行搜索。例如,当我输入40027时,此函数必须返回以40027开头的每个值(例如40027-60)
这是我的搜索功能:
func updateSearchResults(for searchController: UISearchController) {
if searchController.isActive {
filteredData.removeAll(keepingCapacity: false)
let textToSearch = searchController.searchBar.text!
filteredData = feedItems.filter({$0.DesenNo?.caseInsensitiveCompare(textToSearch) == .orderedSame})
listTableView.reloadData()
}
else {
filteredData.removeAll(keepingCapacity: false)
listTableView.reloadData()
}
}
答案 0 :(得分:1)
您可以使用字符串上的contains
方法进行比较,而不是查找确切的字符串。
可在此处找到完整的Apple文档: https://developer.apple.com/documentation/foundation/nsstring/1414563-containsstring
编辑: 您的比较可能如下所示
filteredData = feedItems.filter({$0.DesenNo?. lowercaseString.contains(textToSearch.lowercaseString)})