私は予約するApple から提供されたが、定義は見つけられなかった。
の構造を説明できる人はいますかdispatch_after
?
dispatch_after(<#when: dispatch_time_t#>, <#queue: dispatch_queue_t?#>, <#block: dispatch_block_t?#>)
ベストアンサー1
私はdispatch_after
頻繁に使用するので、構文をシンプルにするためにトップレベルのユーティリティ関数を作成しました。
func delay(delay:Double, closure:()->()) {
dispatch_after(
dispatch_time(
DISPATCH_TIME_NOW,
Int64(delay * Double(NSEC_PER_SEC))
),
dispatch_get_main_queue(), closure)
}
そして、次のように話すことができます。
delay(0.4) {
// do stuff
}
すごいですね。言語を向上できる言語です。これ以上のものがあるでしょうか?
Swift 3、Xcode 8 Seed 6 のアップデート
呼び出し構文が改善されたので、気にする価値はほとんどないようです。
func delay(_ delay:Double, closure:@escaping ()->()) {
let when = DispatchTime.now() + delay
DispatchQueue.main.asyncAfter(deadline: when, execute: closure)
}