UIRefreshControl在3秒后结束重新刷新

Ava*_*vaJ 2 uitableview ios uirefreshcontrol swift

我有一个UITableView通过使用更新a 的功能UIRefreshControl.但是我希望在3秒后进行函数调用EndRefreshing.

func updateMyTable(){

    tableView.reloadData()

    //refreshTable.endRefreshing()  
}
Run Code Online (Sandbox Code Playgroud)

Ale*_*ano 5

我知道swift上最好的延迟方法:

func dispatchDelay(delay:Double, closure:()->()) {
    dispatch_after(
        dispatch_time(
            DISPATCH_TIME_NOW,
            Int64(delay * Double(NSEC_PER_SEC))
        ),
        dispatch_get_main_queue(), closure)
}
Run Code Online (Sandbox Code Playgroud)

您的代码将是:

func updateMyTable(){
    tableView.reloadData()
    dispatchDelay(3.0) {
       self.refresh.endRefreshing()
    }
}
Run Code Online (Sandbox Code Playgroud)

更新Swit 3:

func dispatchDelay(delay:Double, closure:@escaping ()->()) {
    DispatchQueue.main.asyncAfter(deadline: DispatchTime.now() + delay, execute: closure)
}
Run Code Online (Sandbox Code Playgroud)