美文网首页
GCD 的简单应用 Swift

GCD 的简单应用 Swift

作者: 扬仔360 | 来源:发表于2015-11-04 20:26 被阅读24次
  let queue = dispatch_get_global_queue(
      DISPATCH_QUEUE_PRIORITY_DEFAULT, 0)

获取 GCD 的 queue 的引用,GCD 不是基于面向对象,还是基于 Function。

拥有了 queue,就可以向 queue 发送 closure:

  dispatch_async(queue) {
    //closure
  }

在子 queue 中无法操作界面 UI,所以如果要比如要对TableView进行reloadData操作,就必须在主线程中,这时候可以获得main queue来进行操作,main queue对应着main thread

  dispatch_async(dispatch_get_main_queue()) {
    self.tableView.reloadData()
  }

另外dispatch_async()是异步执行,但是dispatch_sync是同步的 GCD,dispatch_sync也会将 closure 在后台运行,但是主线程回一直等待 closure 完成之后才能进行下一步操作。

相关文章

  • GCD 的简单应用 Swift

    获取 GCD 的 queue 的引用,GCD 不是基于面向对象,还是基于 Function。 拥有了 queue,...

  • Swift教程:一个简单的iOS应用

    Swift教程:一个简单的iOS应用 Swift教程:一个简单的iOS应用

  • Swift-GCD

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

  • Swift-GCD

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

  • GCD的简单应用

    1.耗时操作通常我们需要做耗时操作的时,可以直接使用下面代码,GCD会自动帮我们创建线程进行处理 2.阻塞式(有先...

  • GCD的简单应用

    导语: 每次提到多线程,iOS骚年总是说GCD(感觉有点高逼格)。当然,做的项目自然会接触到GCD,功能是挺强大的...

  • GCD

    iOS多线程 Swift4 GCD深入解析swift GCD 的一些高级用法GCD 之线程组(Dispatch G...

  • swift3.0+实现持续震动和取消震动

    只是简单的实现功能,使用GCD延迟循环调用,主要是swift对gcd写法的改变,可以写个单例,全局调用,方法内部可...

  • swift GCD-定时器(DispatchSourceTime

    前言: 了解swift GCD 与OC GCD请看我的其他总结文章,这篇文章只是对swift GCD定时器的一个实...

  • swift中GCD的使用详情

    想看swift3.0使用GCD,请点击GCD详解 想看swift3.0闭包的使用和介绍,请点击Swift版闭包使用...

网友评论

      本文标题:GCD 的简单应用 Swift

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