在完成从服务器 Swift 获取数据时调用函数



我有一个执行数据获取的方法,并且我有一个HUD视图,我想在数据获取完成后立即隐藏该视图。我的Hud在视图加载时启动。这是我的代码:

override func viewDidLoad() {
   HUD.show(.progress)
}
func fetchData() {
    // performs fetch data
    HUD.hide(afterDelay: 1.0)
}

数据获取完成后,我想隐藏HUD视图。我在方法结束时编写了这个隐藏函数,但它甚至在数据获取完成之前就停止了。

swift中使用closure来实现您要做的事情。

例:

override func viewDidLoad()
{
    HUD.show(.progress)
    fetchData {
        HUD.hide(afterDelay: 1.0)
    }
}
func fetchData(completionHandler:(()->())?)
{
    //TODO: fetch you data
    //After data is fetched call completionHandler
    completionHandler?()
}

相关内容

最新更新