ios - 如何允许用户每 "n"秒刷新一次表?

标签 ios swift uitableview uirefreshcontrol

我在我的tableview中添加了一个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 秒尚未过去,您将不执行任何操作。

关于ios - 如何允许用户每 "n"秒刷新一次表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53773738/

相关文章:

ios - FQL 多重查询总是失败(查询作为单个查询工作)

ios - 带有 MapKit ios 的渐变折线

ios - Sprite Kit 的 'didBeginContact' 函数不是很准确。我应该怎么办?

ios - Obj-c - 将字符串转换为 NSDate?

ios - 如何使用 Swift 将 UIImage 作为 swift3 中的 'source=' 参数上传到 REST API?

swift - 3DES 加密结果与示例不同

swift - 如何编辑隐藏在 Xcode Storyboard中其他 View 后面的 View ?

ios - -[UIPickerTableView _createPreparedCellForGlobalRow :withIndexPath:],/SourceCache/UIKit_Sim/UIKit-2903.2/UITableView.m:7768 断言失败

ios - UITapGestureRecognizer 在 Swift 的 SearchField 类中破坏了 UITableView didSelectRowAtIndexPath?

iphone - 删除 NSLog 会破坏编译器