关于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的代理即可獲得。
?
轉載于:https://www.cnblogs.com/haodongxi/p/5430906.html
總結
以上是生活随笔為你收集整理的关于nsurlsession的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 怎么把u盘设置移动硬盘 将U盘设置为移动
- 下一篇: u盘写保护了怎么回事 U盘被写保护解除方