我目前有一个 UITableViewController,它填充了来自服务器的 JSON 响应,所有这些都是使用 Alamofire 完成的。
我的搜索栏位于 TableView 的顶部,当我输入关键字时,服务器会使用与我的搜索相关的 JSON 进行响应。但是当我再次搜索时,仍然出现之前的搜索结果。
我想知道如何从 tableView 中清除之前的搜索。
最佳答案
正如我在评论中提到的,当用户更改 UISearch 栏中的文本时,只需清除用于显示 tableView 的数组并重新加载 tableView。假设我的数组名称是 dataSource
extension ViewController : UISearchBarDelegate {
func searchBarTextDidBeginEditing(_ searchBar: UISearchBar) {
self.dataSource?.removeAll()
self.tableView.reloadData()
}
}
如果你想在用户点击搜索按钮时清除之前的结果
func searchBarSearchButtonClicked(_ searchBar: UISearchBar) {
self.dataSource?.removeAll()
self.tableView.reloadData()
}
选择适合您的需求。基本思想是一样的。清除数组并重新加载就是这样:)
关于ios - 删除所有以前的 UITableViewCell Swift 3/4 iOS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46294500/