美文网首页
OC_GCD任务组在实际开发中的应用

OC_GCD任务组在实际开发中的应用

作者: ISwiftUI | 来源:发表于2017-01-14 15:12 被阅读44次
在实际的开发中,我们常常会遇到这样的一种需求,就是多个网络请求数据全都请求完毕之后,才是使用主线程更新UI的情况,未解决这一问题,我总结了几种解决的方法。
  • 1.使用GCD线程组
  • 2.通过全局变量累加
  • 3.使用RAC信号绑定

1.多线在开发中出现的频率总的来说还是相对较的,下面主要说一下GCD线程组的实现方式。

主要有这么三个步骤
1.创建线程组
2.发起异步请求,处理耗时操作
3.耗时操作全部执行完毕后,回到主线程

dispatch_group_t group = dispatch_group_create();
dispatch_group_async(group, dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
    //  执行一个耗时操作的异步操作
});
dispatch_group_async(group, dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
    //  执行一个耗时操作的异步操作
});
dispatch_group_notify(group, dispatch_get_main_queue(), ^{
    //  等待前面的异步操作都执行完毕后,回到主线程
});

2.使用全局变量计数,这是一种最简单的方法

3.使用RAC RAC 2.5的版本是OC的稳定版本,具体实现,可以去研究一下FRPH函数式编程[https://github.com/ReactiveCocoa/ReactiveCocoa.git]

相关文章

  • OC_GCD任务组在实际开发中的应用

    在实际的开发中,我们常常会遇到这样的一种需求,就是多个网络请求数据全都请求完毕之后,才是使用主线程更新UI的情况,...

  • 不在最近任务栏中显示

    在实际开发中,我们希望某些activity或者应用程序不在多任务列表中显示,即长按Home键或者多任务button...

  • Runtime 在实际开发中的应用

    runtime再实际开发中主要应用 1.动态添加一个类 2.通过runtime获取一个类的所有属性,我们可以做些什...

  • Runtime在实际开发中的应用

    前言 本文并不是Runtime原理从入门到精通之类的教程, 并不会涉及到过多的原理概念描述, 而是介绍在实际开发中...

  • Git在实际开发中的应用

    一、向远程仓库第一次提交代码 二、更新代码 三、接手别人的代码,拉取远程仓库最新代码 EG:码云为例 !!!!! ...

  • RunLoop -- 在实际开发中的应用

    1、控制线程生命周期<线程保活> 线程保活 2、解决NSTimer在滑动时失效的问题 当scrollView滑动的...

  • RunLoop -- 相关问题的总结

    1、RunLoop在实际场景的应用 RunLoop -- 在实际开发中的应用 2、RunLoop内部实现逻辑 Ru...

  • iOS RunLoop在实际开发中的应用

    在面试iOS应聘者的过程中,貌似流传着一个不成文的规矩,就是问:Runloop、Runtime、GCD这三个东西,...

  • Runtime在iOS开发中的实际应用

    运行时的文章一直被同学们热炒,当然现在面试中也都喜欢问道,当大伙说的头头是道时候,可到真正的项目中几乎局限只会关联...

  • Runtime在iOS开发中的实际应用

    运行时的文章一直被同学们热炒,当然现在面试中也都喜欢问道,当大伙说的头头是道时候,可到真正的项目中几乎局限只会关联...

网友评论

      本文标题:OC_GCD任务组在实际开发中的应用

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