gpt4 book ai didi

ios - 使用 Swift 4 搜索自定义表格单元格和过滤器的项目

转载 作者:行者123 更新时间:2023-11-28 11:49:05 25 4
gpt4 key购买 nike

我正在尝试在我的 UITableViewController 中实现搜索功能。所以我在 UITableView 中的单元格顶部添加了一个搜索 Controller 。

我已经用我的 TableViewController 完成了 UISearchBarDelegate

这是我过滤搜索文本的代码:

// This method updates filteredData based on the text in the Search Box
func searchBar(_ searchBar: UISearchBar, textDidChange searchText: String) {
// When there is no text, filteredData is the same as the original data
// When user has entered text into the search box
// Use the filter method to iterate over all items in the data array
// For each item, return true if the item should be included and false if the
// item should NOT be included
filteredData = searchText.isEmpty ? OrderDetailsTabBarViewController.orderDetailsList : OrderDetailsTabBarViewController.orderDetailsList.filter { (item: OrderBookedSetterGetter) -> Bool in
// If dataItem matches the searchText, return true to include it
return item.BookedOrderId(of: searchText, options: .caseInsensitive, range: nil, locale: nil) != nil
}

tableView.reloadData()
}

但是,它在返回 item.BookedOrderId(of: searchText, options: .caseInsensitive, range: nil, locale : nil) != nil 行。

BookedOrderId 是一个 Int

谁能帮我解决这个问题。我被困在这里,找不到任何东西。

此外,我遵循了本教程:

Link Here

谢谢。

最佳答案

这就是我所做的并且有效!

使用原始数据的副本并在 View Controller 上使用它

func searchBar(_ searchBar: UISearchBar, textDidChange searchText: String) {
// When there is no text, filteredData is the same as the original data
// When user has entered text into the search box
// Use the filter method to iterate over all items in the data array
// For each item, return true if the item should be included and false if the
// item should NOT be included


self.searchBar.showsCancelButton = true

self.copied_order_Canceled_DetailList = []
for item in self.order_Canceled_DetailList {
if String(item.orderId).localizedCaseInsensitiveContains(searchText) != false{
self.copied_order_Canceled_DetailList.append(item))
} else {

}
}

self.tableview.reloadData()
if searchText == "" {
self.copied_order_Canceled_DetailList = self.order_Canceled_DetailList
self.tableview.reloadData()
}
}

这应该有效。

关于ios - 使用 Swift 4 搜索自定义表格单元格和过滤器的项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52053075/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com