在实际的应用开发过程中,同步请求的用户体验并非非常好;我们都知道。Apple是非常重视用户体验的。这一点也成为了行业的标杆,没实用户哪里来的好产品。所以用户体验是极其重要的。貌似废话有点多。接下来进入正题。同步请求不好。那么就使用异步请求的方法。在开发中,异步请求会使用 NSURLConnetction 类的托付协议 NSURLConnectionDelegate。在请求不同阶段会回调托付对象方法,详细方法例如以下:

connection:didReceiveData: 当请求成功时,这种方法就会開始接收数据,假设数据量非常多,它会被多次调用; connection:didFailWithError: 从方法中我们也能够大体知道这种方法的作用,没错,就是用来处理当载入数据出现异常的时候调用的; connectionDidFinishLoading: 从方法的命名中也能够知道这种方法是用来当成功完毕载入数据时调用的。但在 connection:didReceiveData: 方法之后运行。

PS:记得在.h头文件里的 @interface 接口中增加托付的申明<NSURLConnectionDelegate> 哦!

加下来是详细实现的代码:


<span style="font-size:32px;"> * 開始请求Web Service*/
-(void)startRequest
{    NSString *strURL = [[NSString alloc] initWithFormat:@"请求server地址"];NSURL *url = [NSURL URLWithString:[strURL URLEncodedString]];NSURLRequest *request = [[NSURLRequest alloc] initWithURL:url];NSURLConnection *connection = [[NSURLConnection alloc]initWithRequest:requestdelegate:self];if (connection) {self.datas = [NSMutableData new];}}#pragma mark- NSURLConnection method
- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data {[self.datas appendData:data];   //利用NSMutalbeArray数组datas不断接收server端返回的数据
}-(void) connection:(NSURLConnection *)connection didFailWithError: (NSError *)error {NSLog(@"%@",[error localizedDescription]);
}
//当connection:didReceiveData:方法成功接收数据后回调这种方法
- (void) connectionDidFinishLoading: (NSURLConnection*) connection {NSLog(@"请求完毕...");NSDictionary* dict = [NSJSONSerialization JSONObjectWithData:_datas options:NSJSONReadingAllowFragments error:nil];[self reloadView:dict];    //从服务端接收完整数据后,再把数据发送回表示层的视图控制器
}</span>

iOS 中client和server的 Web Service 网络通信 (2)相关推荐

  1. iOS 中client和server的 Web Service 网络通信 (1)

    当你打开你手机上新浪微博应用或者知乎应用是.你是否会去想这些显示在手机上的图片和数据时从哪里来的?又是通过如何的方法实现的?好.那么接下来就介绍是如何实现的.过程又是怎么样的.      当我们浏览着 ...

  2. iOS 中客户端和服务器的 Web Service 网络通信

    当你打开你手机上新浪微博应用或者知乎应用是,你是否会去想这些显示在手机上的图片和数据时从哪里来的?又是通过怎样的方法实现的?好,那么接下来就介绍是如何实现的,过程又是怎么样的.      当我们浏览着 ...

  3. iOS 中客户端和服务器的 Web Service 网络通信 (1)

    当你打开你手机上新浪微博应用或者知乎应用是,你是否会去想这些显示在手机上的图片和数据时从哪里来的?又是通过怎样的方法实现的?好,那么接下来就介绍是如何实现的,过程又是怎么样的.      当我们浏览着 ...

  4. 用JQuery中的Ajax方法获取web service等后台程序中的方法

    用JQuery中的Ajax方法获取web service等后台程序中的方法 1.准备需要被前台html页面调用的web Service,这里我们就用ws来代替了,代码如下: using System; ...

  5. web server and web service

    问题:Web Service和Web Server的区别? 1. 概念上有什么不同? 2.   开发上有什么不同? 3. 哪些服务器支持web server ? 哪些支持web service? 4. ...

  6. 架构师之路 — API 经济 — Web、HTTP Server、API Service、Application

    目录 文章目录 目录 Web HTTP Server API Service Application Web Web(World Wide Web,全球广域网),也称:万维网,它是一种基于 HTML( ...

  7. 在 Visual Studio 2010 中创建 ASP.Net Web Service

    第一步:创建一个"ASP.Net Empty Web Application"项目 第二步:在项目中添加"Web Service"新项目 第一步之后,Visua ...

  8. Web Service (二) CXF自动发布Web Service(No Spring)

    Web Service实现目前流行的框架主要有两种,cxf和axis这两个框架,下面是这两个框架的优缺点,我们这个项目中使用的是cxf这个框架,首先看一下没有集成spring的时候是怎么实现远程调用的 ...

  9. Web Service学习笔记

    Web Service概述 Web Service的定义 W3C组织对其的定义例如以下,它是一个软件系统,为了支持跨网络的机器间相互操作交互而设计.Web Service服务通常被定义为一组模块化的A ...

  10. 藉由GZipStream的壓縮,來減少Web Service的傳輸量

    不知道有多少人有遇到跟我一樣的問題,就是Web Service的資料回傳量太大了,如果都是走區域網路的話,除非量很大,不然還感覺不太出來,可是,如果是透過ADSL的頻寬的話,那就很驚人了,以30MB的 ...

最新文章

  1. 如何系统的自学python 知乎-如何系统地自学 Python?
  2. 谈我的“先做人,再做技术人员,最后做程序员”
  3. “==”和equals()那些事
  4. [转]一文读懂目标检测:R-CNN、Fast R-CNN、Faster R-CNN、YOLO、SSD
  5. Spring中部署Activiti流程定义的三种姿势
  6. SpringBoot(10)
  7. 数据结构(C语言版清华严蔚敏)
  8. 基于大数据的消费者洞察
  9. android 3d桌面壁纸,五款超酷安卓手机3D桌面软件合辑推荐
  10. PS基础教程:[8]蒙版使用实例
  11. 物联卡代理商究竟如何选择?51物联卡告诉你正确答案
  12. 的欧美HTML游戏,国外十大HTML5、JavaScript 3D游戏引擎和框架
  13. Xcode13.3.1 upload ipa error:Invalid Provisioning Signature....STATE_ERROR.VALIDATION_ERROR.9016解决方案
  14. 【绿色版软件】出现应用程序无法启动,并行配置不正确
  15. python 手机自动化_Win10 下python_appium的Android手机自动化环境搭建
  16. 谈谈我是怎么学会python的
  17. TensorFlow 1.9终于对树莓派张开了怀抱:加入官方支持
  18. 软件测试工程师在线培训,软件测试工程师培训.PDF
  19. win7忘记密码怎么办,Administrator忘记密码解决办法【完美、简单、有效】
  20. 传智杯C语言题库,[传智杯]补刀-题解(C语言代码)

热门文章

  1. 转:SQL注入攻击的原理
  2. 【技术帖】Mysql The 'InnoDB' feature is disabled; you n
  3. linux内核之进程管理详解
  4. TCP/IP源码分析
  5. be服务器未正常运行5.4.15,RHEL5.4 DNS服务器配置详解(一)
  6. appium python很慢_appium+python自动化测试遇到的坑及处理方案
  7. Redis,唯快不破!
  8. IPSEC 004 ---- 模板海纳百川,不定对端有容乃大
  9. webrtc2sip项目说明
  10. android 看门狗引起crash分析