设为首页 加入收藏

TOP

关于nsurlsession
2017-10-13 10:24:27 】 浏览:5687
Tags:关于 nsurlsession

  nsurlsession 是ios7新出的api,用来代替nsurlconnection 。话不多说。

  nsurlsession包含三个方面1,NSURLSessionConfiguration ,2NSURLSession ,3NSURLTask 。下面是一饿断点续传的代码。

 //首先创建NSURLSession    

NSURLSessionConfiguration *sessionConfig = [NSURLSessionConfiguration defaultSessionConfiguration];     NSURLSession  *session = [NSURLSession sessionWithConfiguration:sessionConfig delegate:self delegateQueue:nil]; 

//创建请求

NSURL *url = [NSURL URLWithString:@"https://ss1.baidu.com/6ONXsjip0QIZ8tyhnq/it/u=1301384128,1980144396&fm=58"];  NSURLRequest *request = [NSURLRequest requestWithURL:url]; 

 

//创建网络任务并开始

//用NSURLSession和NSURLRequest创建网络任务

-(void)start

self.task = [[self session] downloadTaskWithRequest:[self request]];  

[self.task resume];//开始

}

//  暂停并记录数据

-(void)pause

{

if (self.task) {  

  //取消下载任务,把已下载数据存起来  

 [self.task cancelByProducingResumeData:^(NSData *resumeData) {  

   self.partialData = resumeData;  

   self.task = nil; 

}];  

  } 


}

//恢复下载

-(void)resume

{  

   if (!self.task) 

{  

  //判断是否又已下载数据,有的话就断点续传,没有就完全重新下载  

  if (self.partialData) 

      {  

        self.task = [[self session] downloadTaskWithResumeData:self.partialData];  

       }

else{  

         self.task = [[self session] downloadTaskWithRequest:[self request]];  

      }  

  }  

  [self.task resume];  

以上就是利用NSURLSession进行的断点续传功能,若要得到进度,实现session的代理即可获得。

 

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇【Swift学习】Swift编程之旅---枚.. 下一篇懒加载中进行字典转模型

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目