我的场景是,我正在将JSON
数据加载到tableview
中,这里我为tableview
的单个search-bar
维护了两个段控制器按钮。单击细分按钮的第一个按钮进行搜索我可以很好地获得搜索结果,如果单击两个细分按钮的话,也会显示相同的搜索结果。因此,当我单击第一到第二段时,我需要清除搜索结果并加载普通数据。当我单击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()
}
答案 0 :(得分:2)
除了清除搜索栏外,还需要从数据源中删除筛选。所谓数据源,是指您在表视图中显示的对象数组。您必须对过滤器文本使用过滤器功能。如果要清除搜索栏,还需要还原原始JSON数据(未过滤的数据),然后调用reloadData
答案 1 :(得分:1)
更改分段控件选择后,您只需要使用空白文本调用Cannot GET /
方法
searchBar textDidChange