当前位置: 首页 > news >正文

在NSOperation等待异步请求结束

看SDWebImage的源代码,看到了这个解决方法:

感觉CFRunLoopRun()就像一个死循环,直到CFRunLoopStop方法被调用后,这个循环才会结束。

CFRunLoopRun()下面的语句才会继续执行。


@implementation ViewController


- (void)viewDidLoad

{

    [superviewDidLoad];

    NSOperationQueue* queue = [[NSOperationQueuealloc] init];

    

    [queue addOperationWithBlock:^{

        

       NSURLRequest *request= [[NSURLRequestalloc] initWithURL:[NSURLURLWithString:@"http://www.baidu.com" ]];

       NSURLConnection *connection = [[NSURLConnectionalloc] initWithRequest:requestdelegate:self];

        [connectionstart];

        

       NSLog(@"网络请求开始");

        

        CFRunLoopRun();

        

         NSLog(@"after CFRunLoopRun");

        

    }];

    

}


- (void)connectionDidFinishLoading:(NSURLConnection *)aConnection {

    

    NSLog(@"connectionDidFinishLoading");

    

    CFRunLoopStop(CFRunLoopGetCurrent());

    

}


@end



相关文章:

  • 10月4日培训日记
  • 粗茶淡饭幸福长
  • 致《编程的奥秘》新老读者
  • CocoaAsyncSocket的readDataToLength方法的理解
  • 10月5日培训日记
  • __bridge相关的三个关键字的总结
  • AsyncSocket中tag参数的用处
  • 给我深爱着的人,祝你中秋快乐……
  • 用UILocalNotification实现闹钟的坑
  • .NET中的Event与Delegates,从Publisher到Subscriber的衔接!
  • 略时间中秒的部分,使时间中的秒变成0
  • 不可忽视的力量,插件主题网站
  • 日期只精确到天 省略时间的时间部分
  • 10月7日培训日记
  • Xcode6建的工程修改为在iPhone6和iPhone6P下等比放大
  • “Material Design”设计规范在 ComponentOne For WinForm 的全新尝试!
  • classpath对获取配置文件的影响
  • CSS3 变换
  • C学习-枚举(九)
  • gulp 教程
  • Javascript 原型链
  • js作用域和this的理解
  • magento2项目上线注意事项
  • MYSQL 的 IF 函数
  • node-glob通配符
  • Promise初体验
  • PyCharm搭建GO开发环境(GO语言学习第1课)
  • ucore操作系统实验笔记 - 重新理解中断
  • 从零开始的无人驾驶 1
  • 从输入URL到页面加载发生了什么
  • 规范化安全开发 KOA 手脚架
  • 基于Javascript, Springboot的管理系统报表查询页面代码设计
  • 前端存储 - localStorage
  • 前端面试题总结
  • 算法-图和图算法
  • 听说你叫Java(二)–Servlet请求
  • 《TCP IP 详解卷1:协议》阅读笔记 - 第六章
  • 1.Ext JS 建立web开发工程
  • ​云纳万物 · 数皆有言|2021 七牛云战略发布会启幕,邀您赴约
  • # 计算机视觉入门
  • #android不同版本废弃api,新api。
  • #git 撤消对文件的更改
  • #QT(串口助手-界面)
  • #常见电池型号介绍 常见电池尺寸是多少【详解】
  • #每天一道面试题# 什么是MySQL的回表查询
  • #我与Java虚拟机的故事#连载10: 如何在阿里、腾讯、百度、及字节跳动等公司面试中脱颖而出...
  • (Git) gitignore基础使用
  • (Java岗)秋招打卡!一本学历拿下美团、阿里、快手、米哈游offer
  • (附源码)ssm经济信息门户网站 毕业设计 141634
  • (附源码)计算机毕业设计SSM智能化管理的仓库管理
  • (剑指Offer)面试题34:丑数
  • (转)JVM内存分配 -Xms128m -Xmx512m -XX:PermSize=128m -XX:MaxPermSize=512m
  • (转)真正的中国天气api接口xml,json(求加精) ...
  • .NET 3.0 Framework已经被添加到WindowUpdate
  • .net 打包工具_pyinstaller打包的exe太大?你需要站在巨人的肩膀上-VC++才是王道