Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/99.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios UIRefreshControl在3秒后结束刷新_Ios_Swift_Uitableview_Uirefreshcontrol - Fatal编程技术网

Ios UIRefreshControl在3秒后结束刷新

Ios UIRefreshControl在3秒后结束刷新,ios,swift,uitableview,uirefreshcontrol,Ios,Swift,Uitableview,Uirefreshcontrol,我有一个函数,可以使用UIRefreshControl更新UITableView。但是我希望它在3秒钟后调用函数EndRefreshing func updateMyTable(){ tableView.reloadData() //refreshTable.endRefreshing() } 尝试在延迟一段时间后使用以下命令调用该方法: self.performSelector(Selector(yourMethod), withObject: nil, afterD

我有一个函数,可以使用
UIRefreshControl
更新
UITableView
。但是我希望它在3秒钟后调用函数
EndRefreshing

func updateMyTable(){

    tableView.reloadData()

    //refreshTable.endRefreshing()  
}

尝试在延迟一段时间后使用以下命令调用该方法:

self.performSelector(Selector(yourMethod), withObject: nil, afterDelay: 3)
该方法将在3秒延迟后调用。因此,在更新表的地方添加这一行


希望对您有所帮助。

我所知道的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()
    }
}
更新Swit 3:
func dispatchDelay(delay:Double, closure:@escaping ()->()) {
    DispatchQueue.main.asyncAfter(deadline: DispatchTime.now() + delay, execute: closure)
}