如何在Swift 3,Swift 4及更高版本中dispatch_sync,dispatch_async,dispatch_after等?我在Swift 2.x(甚至1.x)项目中有很多代码,如下所示:// Move to a background thread to do some long running workdispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0)) {
let image = self.loadOrGenerateAnImage()
// Bounce back to the main thread to update the UI dispatch_async(dispatch_get_main_queue()) {
self.imageView.image = image }}或者像这样的东西来延迟执行:dispatch_after(dispatch_time(DISPATCH_TIME_NOW, Int64(0.5 * Double(NSEC_PER_SEC))), dispatch_get_main_queue()) {
print("test")}或者Grand Central Dispatch API的各种其他用途......现在我已经在Swift 3的Xcode 8(beta)中打开了我的项目,我得到了各种错误。其中一些提供修复我的代码,但并非所有修复产生工作代码。我该怎么办?
3 回答
侃侃无极
TA贡献2051条经验 获得超10个赞
在Xcode 8 beta 4不起作用......
使用:
DispatchQueue.main.asyncAfter(deadline: .now() + 0.5) { print("Are we there yet?")}
对于异步两种方式:
DispatchQueue.main.async { print("Async1")}DispatchQueue.main.async( execute: { print("Async2")})
- 3 回答
- 0 关注
- 1258 浏览
添加回答
举报
0/150
提交
取消