如何使用按钮或下拉刷新 tableView 和 JSON 数据?

How can I refresh tableView and JSON datas with button or pull to refresh ?

我是 swift 的新手,我不知道如何同时刷新 TableView 和 JSON 数据。刷新TableView后先刷新Json。我怎样才能做到这一点 ?

您需要添加下拉刷新 class 到您的 UITableView

private let refreshControl = UIRefreshControl()
var tableView: UITableView!

然后在 ViewDidLoad 中将其作为子视图添加到您的 tableView 中,您甚至可以更改其颜色和文本。

override func viewDidLoad() {

     if #available(iOS 10.0, *) {
        tableView.refreshControl = refreshControl
    } else {
        tableView.addSubview(refreshControl)
    }
    refreshControl.tintColor = UIColor.blue
    refreshControl.attributedTitle = NSAttributedString(string: "Fetching Data ...", attributes: [NSAttributedStringKey.foregroundColor : UIColor(red:0/255, green:168/255, blue:225/255, alpha:1.0)])
    refreshControl.addTarget(self, action: #selector(refreshData(_:)), for: .valueChanged)

}

如上所示,当值发生变化时,使用选择器函数向其添加目标。

@objc private func refreshData(_ sender: Any) {

   //load the data from the server and 
   //parse and put it in an array then reload your table view

}