Swift-GCD

作者: 男人宫 | 来源:发表于2020-04-16 14:50 被阅读0次
  • 延迟执行
//DispatchTime.now() 获取当前时间
 DispatchQueue.main.asyncAfter(deadline: DispatchTime.now() + 3) {
   //需要进行的操作
 }
  • 异步进行耗时操作,主线程进行用户交互以及刷新UI的操作
 //开启一个全局的异步队列
 DispatchQueue.global().async {
    //耗时操作
    DispatchQueue.main.async {
      //进行UI刷新和用户交互
       }  
   }
  • 处理多数据请求,所有请求完毕进行UI更新(数据进行并发请求)
       //创建调度器
        let workingGroup = DispatchGroup()
        //创建队列
        let workingQueue = DispatchQueue(label: "request_data")
        //第一个网络请求
        workingGroup.enter()
        workingQueue.async {
             //进行数据请求1
              workingGroup.leave()
            }
       //第二个网络请求
        workingGroup.enter()
        workingQueue.async {
             //进行数据请求2
              workingGroup.leave()
            }
    //请求完毕
      workingGroup.notify(queue: .main) {
            //进行UI的更新
        }
  • 多任务依次请求
    PS:数据请求返回时是异步回调,用普通的请求你可以确保它的调用顺,但无法确保它的返回结果的回调顺序

相关文章

  • Swift-GCD

    对原Swift-GCD升级 SwiftGCD Swift-GCD Package GCDGroup, GCDQue...

  • Swift-GCD

    本篇文章介绍的是在Swift3语言下的GCD应用操作,针对的目标读者可以是没有GCD基础的初学者,也可以是对GCD...

  • Swift-GCD

    延迟执行 异步进行耗时操作,主线程进行用户交互以及刷新UI的操作 处理多数据请求,所有请求完毕进行UI更新(数据进...

网友评论

      本文标题:Swift-GCD

      本文链接:https://www.haomeiwen.com/subject/qlvrvhtx.html