如何将 searchController 转换为实时搜索

How to convert searchController to a live search

我有一个 searchController,它可以很好地进行搜索并填充正确的值。但是这些代码return的值如果是searchingTextvalues。我需要搜索栏来使搜索生效。例如,当我输入 40027 时,此函数必须 return 每个以 40027 开头的值(例如 40027-60)

这是我的搜索功能:

    func updateSearchResults(for searchController: UISearchController) {
    if searchController.isActive {
        filteredData.removeAll(keepingCapacity: false)
        let textToSearch = searchController.searchBar.text!
        filteredData = feedItems.filter({[=10=].DesenNo?.caseInsensitiveCompare(textToSearch) == .orderedSame})
        listTableView.reloadData()
    }
    else {
        filteredData.removeAll(keepingCapacity: false)
        listTableView.reloadData()
    }
}

与其查找确切的字符串,不如对字符串使用 contains 方法进行比较。

完整的苹果文档可以在这里找到: https://developer.apple.com/documentation/foundation/nsstring/1414563-containsstring

已编辑: 您的比较可能看起来像这样

filteredData = feedItems.filter({[=10=].DesenNo?. lowercaseString.contains(textToSearch.lowercaseString)})