NSURLSession下载和断点续传(烟台杰瑞教育IOS培训部原创)_第1页
NSURLSession下载和断点续传(烟台杰瑞教育IOS培训部原创)_第2页
NSURLSession下载和断点续传(烟台杰瑞教育IOS培训部原创)_第3页
NSURLSession下载和断点续传(烟台杰瑞教育IOS培训部原创)_第4页
NSURLSession下载和断点续传(烟台杰瑞教育IOS培训部原创)_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、NSURLSession下载和断点续传NSURLSession是iOS7以后新的网络接口,和常经常使用到NSURLConnection是类似的。在程序在前台时,NSURLSession与NSURLConnection能够彼此的替代。可是当用户在对程序进行强制关闭的时候现在NSURLSession会默许的自动断开。相较而言NSURLSession的优势要紧体此刻后台操作时候,而且在最流行的框架AFNetworking中也对NSURLSession提供了更好的支持。要紧提供的功能如下:1下载文件到内存中2下载文件到途径3上传制定的文件等案例演示:图片下载断点续传豆Ieu底皿.PhMQi屯.Iphx

2、口片/©91,5W号卜要紧代码:一、概念几个全局变量©interfaceViewController()NSURLSessionDownloadTask*_task;NSData*_data;NSURLSession*_session;NSURLRequest*_request;UlProgressView*_pro;UllmageView*_imageView;二、向视图中添加图片进度条_imageView=UIImageViewallocinitWithFrame:CGRectMake(0,0,300,300);_imageView.center=self.view.c

3、enter;self.viewaddSubview:_imageView;_pro=UIProgressViewallocinitWithFrame:CGRectMake(_imageView.frame.origin.x,_imageView.frame.origin.y+400,300,40);3、向视图中添加按钮(一样的方式添加三个)UIButton*button=UIButtonallocinitWithFrame:CGRectMake(50,_imageView.frame.origin.y+400+20,50,40);button.backgroundColor=UIColorbl

4、ueColor;buttonsetTitle:听始"forState:UIControlStateNormal;buttonaddTarget:selfaction:selector(ddLoad)forControlEvents:UIControlEventTouchUpInside;button.layer.borderWidth=1;button.layer.borderColor=UIColorblueColor.CGColor;button.layer.cornerRadius=5;self.viewaddSubview:button;4、通过AFNetworkReacha

5、bilityManager网络状态监测- (void)_checkNet/开启网络状态监控AFNetworkReachabilityManagersharedManagerstartMonitoring;AFNetworkReachabilityManagersharedManagersetReachabilityStatusChangeBlockd(AFNetworkReachabilityStatusstatus)if(status=AFNetworkReachabilityStatusReachableViaWiFi)NSLog(当前是wifi");if(status=AFNe

6、tworkReachabilityStatusReachableViaWWAN)NSLog('当前是3G");if(status=AFNetworkReachabilityStatusNotReachable)NSLog('当前是没有网络”);if(status=AFNetworkReachabilityStatusUnknown)NSLog('当前是未知网络");五、开始下载- (void)ddLoadNSURLSessionConfiguration*config=NSURLSessionConfigurationdefaultSessionCo

7、nfiguration;_session=NSURLSessionsessionWithConfiguration:configdelegate:selfdelegateQueue:nil;/NSURL*url=NSURLURLWithString:src;_request=NSURLRequestrequestWithURL:url;NSLog(开始加载”);_taskresume;六、设置暂停和答复- (void)pause/暂停NSLog(暂停下载");_taskcancelByProducingResumeDatai(NSData*resumeData)_data=resum

8、eData;;_task=nil;- (void)resume/恢复NSLog(恢复下载”);if(!_data)NSURL*url=NSURLURLWithString:src;_request=NSURLRequestrequestWithURL:url;_task=_sessiondownloadTaskWithRequest:_request;else_task=_sessiondownloadTaskWithResumeData:_data;_taskresume;7、代理方式保留下载文件监控下载进度#pragmamark-delegate-(void)URLSession:(NSU

9、RLSession*)sessiondownloadTask:(NSURLSessionDownloadTask*)downloadTaskdidFinishDownloadingToURL:(NSURL*)locationNSURL*url=NSURLfileURLWithPath:"/Users/jredu/Desktop/tt.png"NSFileManager*manager=NSFileManagerdefaultManager;managermoveItemAtURL:locationtoURL:urlerronnil;dispatch_async(dispat

10、ch_get_main_queue(),ANSData*data=managercontentsAtPath:"/Users/jredu/Desktop/tt.png"Ullmage*image=UIImageallocinitWithData:data;_imageView.image=image;UIAlertView*alert=UIAlertViewallocinitWithTitle:nilmessage:'下载完成"delegate:selfcancelButtonTitle:"OK"otherButtonTitles:nil;alertshow;);-(void)URLSession:(NSURLSession*)sessiondownloadTask:(NSURLSessionDownloadTask*)downloadTaskdidWriteData:(int64_t)bytesWrittentotalBytesWritten:(int64_t)totalBytesWrittentotalBytesExpectedToWr

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论