【发布时间】:2015-04-14 10:37:50
【问题描述】:
以下异步块有什么区别?
Run Background Task as Loop in Swift
func delay(delay:Double, closure:()->()) {
dispatch_after(
dispatch_time(
DISPATCH_TIME_NOW,
Int64(delay * Double(NSEC_PER_SEC))
),
dispatch_get_main_queue(), closure)
}
和:
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_BACKGROUND, 0), { () -> Void in
println("do some background task")
dispatch_async(dispatch_get_main_queue(), { () -> Void in
println("update some UI")
})
})
【问题讨论】:
-
请问?所涉及的所有方法都有出色的文档,并且它们的行为都与文档完全一致。除此之外,一个使用我们不知道的闭包,另一个调用 println 两次。您的实际问题是什么?
-
看起来你只是从另一个问题的答案中复制了一些东西,破坏了所有上下文,因此变得毫无意义。
标签: ios objective-c swift