联网
来源:互联网 发布:smtp的端口号 编辑:程序博客网 时间:2024/04/27 15:57
在处理基于Web的网络请求时,我们主要与三个类进行交互:NSURL、NSURLRequest和NSURLSession。
1.NSURL是模型对象。指向资源在网络上的位置
1)网址
let myURL = NSURL(string:"http://oreilly.com")
2)相对网址
let relativeURL = NSURL(string:"resources/index.html",relativeToURL:NSURL(string:"http://oreilly.com"))
3)文件地址
let myFileURL = NSURL(fileURLWithPath:"/Applications")
2.NSURLRequest描述如何访问URL。
它会添加一些信息。比如,这个请求在多长时间内等不到回应才会超时;是否使用缓存;如果这个请求是一个HTTP请求,应当使用哪种请求方法(GET、POST、PUT等),以及HTTP请求的主体应是什么样的。
在大多数情况下,当给定一个NSURL时,可以使用NSURLRequest(URL:)方法创建一个NSURLRequest:let urlRequest = NSURLRequest(URL:myURL!)
或者 NSURLRequest(URL:cachePolicy:timeout-Interval:)
缓存:Http缓存取决于服务器是否要求它缓存,而FTP从来不进行缓存。
NSMutableURLRequest :它是NSURLRequest类的可修改版本,可以在创建请求之后进行配置。
如:let mutableRequest = NSMutableURLRequest(URL:myURL!)
mutableRequest.HTTPMethod = "POST"
3.NSURLSession管理连接的生命周期。
它代替较早的NSURLConnection API,它有新方法来处理所有与URL相关的任务,包括上传和下载。
由四个对象组成:NSURLSession、NSURLSessionDelegate、NSURLSessionConfiguration和NSURLSessionTask。
NSURLSessionConfiguration对象表示会话使用的配置。NSURLSessionConfiguration处理缓存、cookie策略、代理和超时等。所创建的每个配置对象都是可变的,可以由多个会话共享。
NSURLSessionTask表示由会话处理的一项任务。所执行任务的状态。它还可以用来取消、挂起、恢复任务。
NSURLSession及其委托NSURLSessionDelegate负责执行发送给它的所有任务。
一般:在使用NSURLSession时,不需要应对其委托;只要在会话完成一项任务时使用完成代码块即可。
但是,如果在应用程序中使用NSURLSession在iOS 上进行后台下载,那就必须处理会话委托方法并在应用程序委托中实现 application(_,handleEventsForBackgroundURLSession:,completionHandler:)。
- 联网
- 物联网
- 物联网
- 物联网
- 物联网
- 物联网
- 物联网
- 联网队列
- 虚拟机联网
- 物联网
- 物联网
- 物联网
- 物联网
- 物联网
- 物联网
- 物联网
- ubuntu联网
- wp7 联网
- 浅谈SNMP协议
- Spring基础知识(5)-AOP
- fifo 简单实现
- iBATIS学习01:iBATIS概览+iBATIS十分钟快速上手操练
- iOS控件:UIWebView的简单使用
- 联网
- Android 开发框架之okhttp 网络框架的学习
- warning: LF will be replaced by CRLF
- UVA 10006 - Carmichael Numbers (模平方)
- iOS UITleView 属性及方法详解
- Android源码解析(二十三)-->Android异常处理流程
- js数组求和的方法(最高效率)
- ubunru 定时关机和提醒
- android沉浸式状态栏的问题解决