我有一个使用 UIRefreshControl
更新 UITableView
的函数。但我希望它在 3 秒后函数调用 EndRefreshing
。
func updateMyTable(){
tableView.reloadData()
//refreshTable.endRefreshing()
}
请您参考如下方法:
我知道在 swift 上可用的最佳延迟方法:
func dispatchDelay(delay:Double, closure:()->()) {
dispatch_after(
dispatch_time(
DISPATCH_TIME_NOW,
Int64(delay * Double(NSEC_PER_SEC))
),
dispatch_get_main_queue(), closure)
}
您的代码将是:
func updateMyTable(){
tableView.reloadData()
dispatchDelay(3.0) {
self.refresh.endRefreshing()
}
}
更新开关 3:
func dispatchDelay(delay:Double, closure:@escaping ()->()) {
DispatchQueue.main.asyncAfter(deadline: DispatchTime.now() + delay, execute: closure)
}