- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
iOS开发中使用NSURLConnection类处理网络请求的方法
iOS开发中使用NSURLConnection类处理网络请求的方法
这篇文章主要介绍了iOS开发中使用NSURLConnection类处理网络请求的方法,代码基于传统的Objective-C,需要的朋友可以参考下
NSURLConnection 作为 Core Foundation / CFNetwork 框架的 API 之上的一个抽象,在 2003 年,随着第一版的 Safari 的发布就发布了。NSURLConnection 这个名字,实际上是指代的 Foundation 框架的 URL 加载系统中一系列有关联的组件:NSURLRequest、NSURLResponse、NSURLProtocol、 NSURLCache、 NSHTTPCookieStorage、NSURLCredentialStorage 以及同名类 NSURLConnection。
NSURLRequest 被传递给 NSURLConnection。被委托对象(遵守以前的非正式协议 NSURLConnectionDelegate 和 NSURLConnectionDataDelegate)异步地返回一个 NSURLResponse 以及包含服务器返回信息的 NSData。
在一个请求被发送到服务器之前,系统会先查询共享的缓存信息,然后根据策略(policy)以及可用性(availability)的不同,一个已经被缓存的响应可能会被立即返回。如果没有缓存的响应可用,则这个请求将根据我们指定的策略来缓存它的响应以便将来的请求可以使用。
在把请求发送给服务器的过程中,服务器可能会发出鉴权查询(authentication challenge),这可以由共享的 cookie 或机密存储(credential storage)来自动响应,或者由被委托对象来响应。发送中的请求也可以被注册的 NSURLProtocol 对象所拦截,以便在必要的时候无缝地改变其加载行为。
不管怎样,NSURLConnection 作为网络基础架构,已经服务了成千上万的 iOS 和 Mac OS 程序,并且做的还算相当不错。但是这些年,一些用例——尤其是在 iPhone 和 iPad 上面——已经对 NSURLConnection 的几个核心概念提出了挑战,让苹果有理由对它进行重构。
一、NSURLConnection的常用类
(1)NSURL:请求地址
(2)NSURLRequest:封装一个请求,保存发给服务器的全部数据,包括一个NSURL对象,请求方法、请求头、请求体....
(3)NSMutableURLRequest:NSURLRequest的子类
(4)NSURLConnection:负责发送请求,建立客户端和服务器的连接。发送NSURLRequest的数据给服务器,并收集来自服务器的响应数据
二、NSURLConnection的使用1.简单说明使用NSURLConnection发送请求的步骤很简单
(1)创建一个NSURL对象,设置请求路径(设置请求路径)
(2)传入NSURL创建一个NSURLRequest对象,设置请求头和请求体(创建请求对象)
(3)使用NSURLConnection发送NSURLRequest(发送请求)
2.代码示例
(1)发送请求的三个步骤:
1.设置请求路径2.创建请求对象3.发送请求3.1发送同步请求(一直在等待服务器返回数据,这行代码会卡住,如果服务器,没有返回数据,那么在主线程UI会卡住不能继续执行操作)有返回值3.2发送异步请求:没有返回值说明:任何NSURLRequest默认都是get请求。(2)发送同步请求代码示例:
复制代码 代码如下:
//// YYViewController.m// 01-NSURLConnection的使用(GET)//// Created by apple on 14-6-28.// Copyright (c) 2014年 itcase. All rights reserved.//
#import YYViewController.h#import MBProgressHUD+MJ.h
@interface YYViewController ()@property (weak, nonatomic) IBOutlet UITextField *username;@property (weak, nonatomic) IBOutlet UITextField *pwd;- (IBAction)login;
@end
复制代码 代码如下:
@implementation YYViewController
- (IBAction)login {// 1.提
您可能关注的文档
最近下载
- 大学物理学(第7版)(上)赵近芳课后习题答案解析.pdf
- 数学一轮课件:7.1空间几何体的结构及其三视图和直观图.ppt VIP
- 河北省普通高等学校毕业生就业协议书(1)(11)(1).doc
- 双因素理论课件.pptx VIP
- 2025至2030中国大米加工行业市场发展分析及发展前景与投资风险报告.docx VIP
- 管理运筹学(第五版)韩伯棠主编第二章线性规划的图解法课后习题参考答案(OCR).pdf VIP
- 湖北省交投集团十四五规划.docx VIP
- 研究生就业压力、就业力和就业质量关系研究——基于2020届“双一流”高校硕士毕业生的实证分析.pdf VIP
- 朗盛年产2000吨高性能涂层用聚氨酯、年产2800吨高性能水性聚氨酯分散体、年产4000吨特种阻燃润滑油技改项目环评报告书.pdf VIP
- 2024-2025学年北京朝阳区六年级(上)期末语文试卷 (含答案).pdf
原创力文档


文档评论(0)