如何使用按钮或下拉刷新 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
}
我是 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
}