240 发简信
IP属地:广东
  • 120
    AVAudioSession 学习

    AVAudioSession 作用 配置音频会话类别和模式,以与系统交流您打算如何在应用中使用音频的方式 激活应用程序的音频会话以使类别和模式配置生效 订阅并响应重要的音频会...

  • 120
    [日常除虫]解决方案:The file couldn't be opened because you don't have permission to view it

    今天clean了一下工程,然后run就出现了下面的问题 通过百度一搜索,发现遇到此类问题的同学还不少,这里我总结了 一下解决方法。 方法一:查看工程中警告,发现需要更新旧...

  • 120
    Universal Links-- 微信支付(1.8.6)

    在更新微信支付sdk(1.8.6)的时候,用到一个Universal Links,之前没有接触过,于是就简单的记录一下配置过程。在iOS9之前,要在浏览器中唤醒APP,我们通...

  • 您这种方式,如果SDK用的AF或者SD和宿主的版本不同,怎么处理

    SDK开发中解决sdk和app项目中都使用某个第三发库引发的冲突

    前言: 在第一篇介绍常见错误中提到一个如果你的SDK中使用了afn这个网络请求库,然后你接入SDK的app中也要使用afn进行网络请求,那么就会报错,提示都同时使用了...

  • 活到老学到老,这句话贯穿了所有,努力理解并且做到

    越学,越觉得自己懂的少。

    不知道你身边有没有这样一种人,明明已经百里挑一,还觉得基数太小;明明已经出类拔萃,还觉得炮灰太少。每天像缺钱一样勤奋,像欠债一样努力。优秀已成为一种习惯。 ...

  • 越学,越觉得自己懂的少。

    不知道你身边有没有这样一种人,明明已经百里挑一,还觉得基数太小;明明已经出类拔萃,还觉得炮灰太少。每天像缺钱一样勤奋,像欠债一样努力。优秀已成为一种习惯。 ...

  • @风与鸾 哈哈,我项目中也是用enter和leave做的,我自己用dispatch_semaphore实现了下,你复制下代码可以运行下,看看有没有问题

    dispatch_group_t group = dispatch_group_create();
    dispatch_queue_t queue = dispatch_get_global_queue(0, 0);
    dispatch_semaphore_t semaphore = dispatch_semaphore_create(0);
    dispatch_group_async(group, queue, ^{
    NSLog(@"同步任务A");
    dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(2.0f * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
    NSLog(@"网络异步任务一");
    dispatch_semaphore_signal(semaphore);
    });
    dispatch_semaphore_wait(semaphore, DISPATCH_TIME_FOREVER);
    });

    dispatch_group_async(group, queue, ^{

    NSLog(@"同步任务B");
    dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.8f * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
    NSLog(@"网络异步任务二");
    dispatch_semaphore_signal(semaphore);
    });
    dispatch_semaphore_wait(semaphore, DISPATCH_TIME_FOREVER);
    });

    dispatch_group_async(group, queue, ^{
    NSLog(@"同步任务C");
    });

    dispatch_group_async(group, queue, ^{

    NSLog(@"同步任务D");
    dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(3.5f * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
    NSLog(@"网络异步任务四");
    dispatch_semaphore_signal(semaphore);
    });
    dispatch_semaphore_wait(semaphore, DISPATCH_TIME_FOREVER);
    });

    dispatch_group_notify(group, queue, ^{
    NSLog(@"任务完成执行");
    });

    iOS如何判断多个异步线程是否执行完毕

    前言 在实际开发中有A、B、C、D异步请求,需要A、B、C、D执行完,然后去执行其他线程。有什么办法可以处理? 方法一:RunLoop 这里执行结果是先输出A后在输出B,注意...

  • 这个Demo确实只是同步线程而已,四个网络请求要产生ABC执行完执行D之后,你dispatch_group用法错了。
    1.第一你用dispatch_after来做Demo更好,就避免的你这样的同步线程
    2.第二我是用dispatch_group+dispatch_semaphore来做才能实现网络请求的ABC->D
    3.还有一个就是用异步穿行队列,然后也用dispatch_semaphore保证执行顺序的连贯

    iOS如何判断多个异步线程是否执行完毕

    前言 在实际开发中有A、B、C、D异步请求,需要A、B、C、D执行完,然后去执行其他线程。有什么办法可以处理? 方法一:RunLoop 这里执行结果是先输出A后在输出B,注意...

  • 120
    iOS开发AOP框架Aspects源码分析

    Aspects解决的问题 Aspects是AOP(面向切面编程)思想在iOS下OC的实现。Aspects可以用于hook函数,让函数执行一些副操作。为嵌入不同函数中的功能相同...