ios - 删除所有以前的 UITableViewCell Swift 3/4 iOS

标签 ios json swift uitableview alamofire

我目前有一个 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/

相关文章:

ios - 粘三个容器和 iPhone X 的一个问题

ruby-on-rails - 如何使用 Ruby on Rails 解析 JSON?

ios - 如何使 Swift 中的 UILabel 成为一个圆圈

来自 TextField 的 iOS 9 Swift Segue

javascript - 使用一些数学可视化 JSON 元素

swift - 如何以编程方式更改搜索栏宽度? ( swift )

ios - 在自定义应用程序中使用 Touch ID - 只有 5 个用户?

ios - 通过 simctl 安装 WatchKit 应用程序

ios - DispatchQueue.sync 与 DispatchQueue.async 之间的区别

jquery - 检查使用 JsonCpp 生成的 JSON 字符串