2017-03-21 6 views
0

データの取得が実行中で、データの取得が完了するとすぐに非表示にする方法があります。私のハドは、ビューロード時に開始します。ここに私のコードです:サーバからのデータフェッチの完了時に関数を呼び出すSwift

override func viewDidLoad() { 
    HUD.show(.progress) 
} 

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

私はHUDビューを非表示にしたいと思います。メソッドの最後にこのhide関数を書きましたが、データの取得が完了する前に停止していました。

+0

おそらく非同期な方法で実行されているデータをフェッチする方法。コードを関数の補完ブロックに置きます。 –

答えて

1

swiftclosureを入力してください。

例:

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?() 
} 
+1

ありがとうございます。素晴らしいです。 –

関連する問題