我有一个执行数据获取的方法,并且我有一个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?()
}