//老的网络请求的方法-
--NSData *data= [NSURLConnection sendSynchronousRequest:URlrequest returningResponse:&URLresponse error:&error];
代码实现:
//1获取文件的访问路径
    NSString *path=@"http://1.studyios.sinaapp.com/getAllClass.php";
    //2封装URL
    NSURL *URL=[NSURL URLWithString:path];
     //3创建请求命令
    NSURLRequest *URlrequest=[NSURLRequest requestWithURL:URL];
     //4响应的对象
   __autoreleasing NSURLResponse *URLresponse;
     //5错误信息
    __autoreleasing NSError *error;
     //6通过同步请求的方式 返回data的对象
      NSData *data= [NSURLConnection sendSynchronousRequest:URlrequest returningResponse:&URLresponse error:&error];
    //7json 请求
    NSArray *array=[NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableLeaves error:&error];
NSLog(@"%@",array);
//新的网络请求的方法
---NSURLSessionDataTask *task=[URlSession dataTaskWithRequest:URlrequest completionHandler:^(NSData * _Nullable data, NSURLResponse * _Nullable response, NSError * _Nullable error) {
}];
思路: 点击老方法sendSynchronousRequest: returningResponse: error:进入内库
找到[NSURLSession dataTaskWithRequest:completionHandler:] (see NSURLSession.h");
之后进入NSURLSession的内库 找到相应的方法;
代码实现:
//1获取文件的访问路径
    NSString *path=@"http://1.studyios.sinaapp.com/getAllClass.php";
    //2封装URL
    NSURL *URL=[NSURL URLWithString:path];
    //3创建请求命令
    NSURLRequest *URlrequest=[NSURLRequest requestWithURL:URL];
    //4创建会话对象  通过单例方法实现
    NSURLSession *URlSession=[NSURLSession sharedSession];
        //5执行会话的任务  通过request 请求 获取data对象
    NSURLSessionDataTask *task=[URlSession dataTaskWithRequest:URlrequest completionHandler:^(NSData * _Nullable data, NSURLResponse * _Nullable response, NSError * _Nullable error) {
            //7json 解析
        NSArray *arrsession=[NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableLeaves error:&error];
        NSLog(@"%@",arrsession);
    }];
        //6真正的执行任务
[task resume]; 

转载于:https://www.cnblogs.com/guiyangxueyuan/p/5315548.html

iOS 设计中 网络请求之 同步请求(json 请求--新方法和老方法)相关推荐

  1. iOS 项目中 网络请求Alamofire 的二次封装

    iOS 项目中 网络请求Alamofire 的二次封装 1.先创建 网络请求的工具类 NetWorkTool 继承自NSObject class NetWorkTool: NSObject {} 2. ...

  2. http 请求 与其同步与异步请求的通透讲解

    http请求可以是基于webkit的浏览器或者web组件如:webview(在移动平台,android iOS等)发送的:也可以是任何程序或者代码段发出的:也可以这么说任何程序都可以自主发送http. ...

  3. 为什么在 Verilog HDL 设计中一定要用同步而不能用异步时序逻辑?

    本博文内容来源于:<从算法设计到硬件逻辑的实现>,仅供学习交流使用! 同步时序逻辑是指表示状态的寄存器组的值只可能在唯一确定的触发条件发生时刻改变.只能由时钟的正跳沿或负跳沿触发的状态机就 ...

  4. 【字符串操作之】从原字符串中切出一段,返回一个新的字符串→→slice方法...

    slice从原字符串中切出一段,返回一个新的字符串,原字符串并未改变. 如果按 startIndex 索引到的字符与按 endIndex 索引到的字符相同或位于后者的右侧,则该方法返回一个空字符串. ...

  5. 电子商务网站建设策划书_电子商务网站建设方案:网站设计中网络营销功能不容忽视...

    如果你的网站要在同行业中脱颖而出,那么你的网站必须是网络营销和电子商务的完美结合,一个拥有很强网络营销功能的电子商务网站.以前更多的网站在电子商务上下功夫,而忽视了网络营销的重要性. 一个电子商务网站 ...

  6. OKHttp请求访问-同步-JSON-添加请求头参数

    //定义请求体参数 ZteRequestSelectUserBo zteRequestSelectUserBo=new ZteRequestSelectUserBo(); zteRequestSele ...

  7. POST请求模拟工具、JSON请求工具、http接口测试、post接口测试

    Postwoman 简介 (原ApiDebug)  Postwoman(原apiDebug) 是一个完全免费的接口调试插件,该插件可独立使用,同时数据也能同步至云端,实现跨终端共享.Postwoman ...

  8. iOS模拟器中修改textField键盘类型为中文输入和键盘弹出方法

    一开始傻乎乎的一直以为和Xcode 里面对于 textField 的属性设置中的 Keyboard Type 有关..后来才想到模拟器就是个 iPhone 手机啊..看到自己模拟器中显示运营商的部分写 ...

  9. 【第一篇】Volley的使用之json请求

    最近项目写完,有开始新的学习了,volley很久以前就接触了,也看了源码,然而却没有通过文章去记录自己的学习成果. 首先讲下volley的特点: 1,扩展性强.Volley 中大多是基于接口的设计,可 ...

最新文章

  1. CentOS 6.4下编译安装MySQL 5.6.14
  2. 名词用作动词举例_2020考研英语语法全面举例讲解:逻辑意义一致原则
  3. 百度地图动态插入标注
  4. SAP 电商云 Spartacus UI added-to-cart 的端到端测试源代码解析
  5. ASP.NET Core + Angular 2 Template for Visual Studio
  6. 40个Java Collections面试问答
  7. python如何爬取sci论文中所需的数据_sci论文中的科研数据处理方法
  8. IPLAT62--新增
  9. Python标准库11 多进程探索 (multiprocessing包)
  10. 开发转测试? Yes or No
  11. Java 音频处理技术
  12. 电子书格式转换方法集锦
  13. 地下停车场的车内与车外,揭露了中年男人内心最沉重的痛
  14. 【Mac双系统设置系统默认启动系统】解决方案
  15. golang 时间missing Location in call to Date
  16. matlab图像导数求积分_matlab微积分问题:导数、偏导数
  17. Linux测试工具httpd-tools
  18. LTspice introduction - 5 Complex and AC analysis
  19. int型数据类型为什么取值范围是-2^31~2^31-1
  20. socket基础知识以及各种使用场景

热门文章

  1. wordpress python 采集_Python3利用Selenium3模拟wordpress博客登陆
  2. 要写related_name的两种情况
  3. 服务器c盘显示0字节可用,c盘0字节可用怎么解决 c盘0字节可用处理方法
  4. oracle linux 图形化,Linux7图形化安装Oracle11g教程,亲测实用有效!
  5. maven+mvc设计模式
  6. 微信小程序数据拼接_微信小程序使用原生WebSokcet实现断线重连及数据拼接
  7. ionic ios查看大图报错 the file to show is not valid image,or could not be loaded
  8. 在matlab中xt( ),编译matlab的s函数(compiling s-functions for matlab)
  9. php-open网站还可以用,nginx+php使用open_basedir限制站点目录防止跨站
  10. webpack 4 入门教程一