我在表视图中添加了一个UIRefreshControl
,以便允许用户拉动刷新。
他们不需要每30秒不断刷新一次。如何允许他们每30秒执行一次?
@IBOutlet weak var tableView: UITableView!
private let refresher: UIRefreshControl = UIRefreshControl()
override func viewDidLoad() {
super.viewDidLoad()
//load Event data
loadData()
// Add Refresh Control to Table View
tableView.refreshControl = refresher
refresher.addTarget(self, action: #selector(refreshData(_:)), for: .valueChanged)
refresher.attributedTitle = NSAttributedString(string: "Fetching events...")
}
@objc private func refreshData(_ sender: Any) {
// Fetch Data
loadData()
}
private func loadData() {
//code here for grabbing data
}
最佳答案
很简单;每次用户刷新时,都将Date存储在属性中,下次,如果还没有经过30秒,则什么都不做。