GCD in Swift

Objective-c 中的我们常用的GCD如何在Swift中使用呢?例如:dispatch_async,dispatch_after etc.

  • Global
DispatchQueue.global(qos: .userInitiated).async {
 }

为何用.userInitiated 代替 DISPATCH_QUEUE_PRIORITY请参考苹果文档

  • Main
 DispatchQueue.main.async {
        
  }
  • After
DispatchQueue.main.asyncAfter(deadline: .now() + 0.5) { // in half a second...
    print("Are we there yet?")
}
  • Custom
let queue = DispatchQueue(label: "com.zhuo.my-serial-queue",
                           attributes: [.serial, .qosUtility])
    func doStuff() {
        queue.async {
            print("Hello")
        }
    }

下载图片

DispatchQueue.global(qos: .userInitiated).async {
    let image = self.loadAnImage()
    // To the main thread to update the UI
    DispatchQueue.main.async {
        self.imageView.image = image
    }
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容