如何将searchController转换为实时搜索

时间:2018-03-16 17:37:10

标签: ios arrays uisearchbar uisearchcontroller livesearch

我有一个searchController,它可以很好地搜索并填充正确的值。但是,如果searchingTextvalues,这些代码会返回值。我需要搜索栏才能进行搜索。例如,当我输入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()
    }
}

1 个答案:

答案 0 :(得分:1)

您可以使用字符串上的contains方法进行比较,而不是查找确切的字符串。

可在此处找到完整的Apple文档: https://developer.apple.com/documentation/foundation/nsstring/1414563-containsstring

编辑: 您的比较可能如下所示

filteredData = feedItems.filter({$0.DesenNo?. lowercaseString.contains(textToSearch.lowercaseString)})