【发布时间】:2019-10-03 12:50:30
【问题描述】:
我的场景,我正在将JSON 数据加载到tableview 中,我正在为单个tableview 和search-bar 维护两个段控制器按钮。第一段按钮点击搜索我可以很好地得到搜索结果,如果我点击第二段按钮,也会显示相同的搜索结果。因此,当我单击第 1 到第 2 段时,我需要清除搜索结果并加载正常数据。当我单击searchBar 中的关闭按钮时,相同的场景运行良好。
我的代码
@IBAction func switchTableviewAction(_ sender: UISegmentedControl) {
switch sender.selectedSegmentIndex {
case 0:
print(“one”)
self.searchResultClear()
currentTableView = sender.selectedSegmentIndex
self.tableView.reloadData()
case 1:
print(“two”)
self.searchResultClear()
currentTableView = sender.selectedSegmentIndex
self.tableView.reloadData()
default:
break;
}
}
// MARK: Search Result Clear working but not clearing result
func searchResultClear() {
//self.searchBar.text = ""
//self.searchBar.showsCancelButton = false
//self.filteredLanguages.removeAll()
//self.tableView.reloadData()
}
【问题讨论】:
-
表格视图的数据源是什么?
-
您可以使用布尔类型的变量来维护用户是否正在搜索的状态。并且基于该变量,您可以在用户不搜索时在 tableview 中显示完整数据
-
你能提供一些更详细的代码吗? @KeyurTailor
-
您必须过滤结果并再次将其分配给
filteredLanguages数组。 -
@Kamran 我的问题是如何在单击我的分段按钮后清除过滤结果。也就是搜索栏 X 按钮进行操作。我也需要这样做。给我一些代码示例。
标签: ios swift xcode uitableview uisearchbar