网络编程(2/4) NSURLSession使用
2015-09-12 本文已影响68人
蚂蚁牙齿不黑
NSURLSession创建Task的三种类型
根据职能不同Task有三种子类:
NSURLSessionUploadTask:上传用的Task,传完以后不会再下载返回结果;
NSURLSessionDownloadTask:下载用的Task;
NSURLSessionDataTask:可以上传内容,上传完成后再进行下载。

如何获得NSURLSession(两种方式)
1、获得共享的Session
+ (NSURLSession *)sharedSession;
2、自定义Session(可实现想session的代理方法)
+ (NSURLSession *)sessionWithConfiguration:(NSURLSessionConfiguration *)configuration delegate:(id )delegate delegateQueue:(NSOperationQueue *)queue;
简要介绍NSURLSession发送post请求的方案 异步

NSURLSessionDownloadTask 用法
使用步骤 (DownLoadTask)(小文件)

使用步骤 (DownLoadTask)(大文件 需实现代理方法监控下载进度)
1.创建NSURLSession 并执行任务

2.内部控制方法(开始 暂停 继续)

3.实现代理方法

NSURLSessionDataTask(开发中常用做法)
优势:可实现文件离线断点下载
代码实现:
1.添加属性

2.懒加载

3.内部控制方法

4.获取本地资源大小

5.实现代理方法,监听下载进度 打开输出流

6.下载完成 关闭输出流
