IOS网络方面(异步请求)

简介: 上篇文章介绍既然在主线程放同步请求会阻塞线程,开辟新的线程会比较麻烦。那么这里有简单的异步请求。它比开辟线程逻辑上比较复杂。复杂的是多了几个代理方法来处理发送请求后的数据等。 主要有以下几个步骤   为了能够创建一个异步的请求连接,我们需要做如下操作。

 

上篇文章介绍既然在主线程放同步请求会阻塞线程,开辟新的线程会比较麻烦。那么这里有简单的异步请求。它比开辟线程逻辑上比较复杂。复杂的是多了几个代理方法来处理发送请求后的数据等。

主要有以下几个步骤

 

为了能够创建一个异步的请求连接,我们需要做如下操作。
1.创建一个 NSSring NSSring 类型的 类型的 URL URL连接字符串。
2.把 NSString NSString 类型转化成网络可识别的NSURL。 类型转化成网络可识别的NSURL。
3.把我们的URL对象赋值到 NSURLRequest NSURLRequestNSURLRequestNSURLRequestNSURLRequest NSURLRequestNSURLRequest对象中,如果是多个连接请求使用 对象中,如果是多个连接请求使用 NSMutableURLRequest. NSMutableURLRequest. NSMutableURLRequest. NSMutableURLRequest.NSMutableURLRequest.NSMutableURLRequest.NSMutableURLRequest. NSMutableURLRequest.NSMutableURLRequest.
4.创建一个 NSURLConnection NSURLConnectionNSURLConnectionNSURLConnection NSURLConnectionNSURLConnection NSURLConnection 的 连接实例,然后把我们定义好URL 对象赋值过去。

 

 

我们可以创建一个异步的URL连接对象通过sendAsynchronousRequest:queue:completionHandler这个方法。这个方法的参数如下.

sendAsynchronousRequest

一个NSURLRequest类型的请求,这个我们已经讲过。

Queue

一个操作队列,我们可以很轻松的分配和初始化一个操作队列,然后可以根据我们需求添加到这个方法的参数中。

completionHandler

一个临时堵塞的监听捕获器,当我们异步的连接操作完成之后,无论我们的异步操作是否成功,这个对象都能够接收到如下三个参数。

1.一个NSURLResopne,这个对象是服务器返回给我们的数据包装对象。

2.NSData,可选的,这个是我们通过URL请求返回的数据。

3.NSError类型的对象,如果请求中有错误发生。

超时的时候可以用以下方法:

当初始化NSURLRequest这个对象,并且把这个对象绑定到你的URL连接对象的时候,你可以使用requestWithURL:cachePolicy:timeoutInterval:这个方法来根据你的设计,设置你的访问请求的超时值。

相关文章
|
6月前
|
缓存 iOS开发
IOS网络编程:使用 URLSession 实现网络请求的步骤是什么?
IOS网络编程:使用 URLSession 实现网络请求的步骤是什么?
106 1
|
3月前
|
安全 网络安全 Android开发
安卓与iOS开发:选择的艺术网络安全与信息安全:漏洞、加密与意识的交织
【8月更文挑战第20天】在数字时代,安卓和iOS两大平台如同两座巍峨的山峰,分别占据着移动互联网的半壁江山。它们各自拥有独特的魅力和优势,吸引着无数开发者投身其中。本文将探讨这两个平台的特点、优势以及它们在移动应用开发中的地位,帮助读者更好地理解这两个平台的差异,并为那些正在面临选择的开发者提供一些启示。
125 56
|
6月前
|
移动开发 网络协议 安全
iOS审核在ipv6网络下无法访问服务器的问题及解决方案
iOS审核在ipv6网络下无法访问服务器的问题及解决方案
179 0
|
6月前
|
XML JSON API
IOS网络编程:介绍一下 Alamofire 库。
IOS网络编程:介绍一下 Alamofire 库。
155 3
|
6月前
|
缓存 JSON API
IOS网络编程:什么是 RESTful API?如何使用 RESTful 风格设计 API?
IOS网络编程:什么是 RESTful API?如何使用 RESTful 风格设计 API?
158 3
|
网络协议 安全 数据库
第二章TCP/IP—iOS网络七层模型
分层: 应用层 (Application): 网络服务与最终用户的一个接口。 协议有:HTTP FTP TFTP SMTP SNMP DNS 表示层(Presentation Layer): 数据的表示、安全、压缩。(在五层模型里面已经合并到了应用层) 格式有,JPEG、ASCll、DECOIC、加密格式等 会话层(Session Layer): 建立、管理、终止会话。(在五层模型里面已经合并到了应用层) 对应主机进程,指本地主机与远程主机正在进行的会话 传输层 (Transport): 定义传输数据的协议端口号,以及流控和差错效验。
511 0
第二章TCP/IP—iOS网络七层模型
|
安全 定位技术 开发工具
IOS9中的一些网络配置
iOS9为了增强数据访问安全,将所有的http请求都改为了https,为了能够在iOS9中正常使用地图SDK,请在"Info.plist"中进行如下配置,否则影响SDK的使用。
72 0
|
iOS开发
IOS测试网络状态
IOS测试网络状态
127 0