【问题标题】:How to convert searchController to a live search如何将 searchController 转换为实时搜索
【发布时间】:2018-03-16 17:37:10
【问题描述】:

我有一个 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()
    }
}

【问题讨论】:

    标签: ios arrays uisearchbar uisearchcontroller livesearch


    【解决方案1】:

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

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

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

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

    【讨论】:

    • 我试过这个但得到错误二元运算符'=='不能应用于'Bool'和'_'类型的操作数
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-29
    相关资源
    最近更新 更多