我的场景,我将 JSON
数据加载到 tableview
中,这里我使用 search 为单个
。单击第一个分段按钮进行搜索,我可以很好地获得搜索结果,如果我单击第二个分段按钮,也会显示相同的搜索结果。因此,当我单击第 1 至第 2 段时,我需要清除搜索结果并加载正常数据。当我单击 tableview
维护两个段 Controller 按钮-栏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 中显示的对象数组。您必须将过滤函数与过滤文本一起使用。如果要清空搜索栏,还需要恢复原来的JSON数据(未过滤的),然后调用reloadData
关于ios - 如何使用 Swift 清除 SearchBar 结果并在 tableview 中显示完整数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56165220/