当前位置:   article > 正文

iOS 自定义SZDownloader文件下载器封装及使用_download-szzg

download-szzg

Github源码:https://github.com/manguoge/SZDownloader

SZDownloader是一个用于下载文件的小型库,简洁并且容易使用。您可以使用Block或Delegate下载文件。如果您正在使用TableView,您应该使用Delegate而不是Block。


##如何使用

下载SZDownloader.h和SZDownloader.m并添加到你的项目。

###使用块

  1. SZDownloader * downloader = [[SZDownloader alloc] initWithURL:[NSURL URLWithString:@“http://myfile.com/file.jpg”] timeout:60];
  2. [downloader startWithDownloading:(float progress,NSInteger percentage){
  3. //进度条进度
  4. //下载百分比的百分比
  5. } onFinished :( NSData * fileData,NSString * fileName){
  6. //使用NSData编写文件或图像
  7. } onFail(NSError * error){
  8. //失败
  9. }];

###使用Delegate

遵循SZDownloaderDelegate协议

  1. SZDownloader * downloader = [[SZDownloader alloc] initWithURL:[NSURL URLWithString:@“http://myfile.com/file.jpg”] timeout:60];
  2. [downloader startWithDelegate:self];//委托方法是必需的
  3. - (void)SGDownloadProgress:(float)progress百分比:(NSInteger)percent;
  4. - (void)SGDownloadFinished :( NSData *)fileData;
  5. - (void)SGDownloadFail:(NSError *)error;

允许1-5个并发下载1个文件(如下载管理器)

#使用块的示例

  1. -(void)download
  2. {
  3. _requestStringURL=kCloudURL;
  4. NSURL *requestURL=[NSURL URLWithString:_requestStringURL];
  5. SZDownloader *downloader=[[SZDownloader alloc] initWithURL:requestURL timeout:6.0];
  6. [downloader startWithDownloading:^(float progressValue, NSInteger percentage)
  7. {
  8. NSLog(@"progressValue=%f,percentage=%ld",progressValue,percentage);
  9. } onFinished:^(NSData *fileData)
  10. {
  11. NSDictionary *jsonDict=[NSJSONSerialization JSONObjectWithData:fileData options:NSJSONReadingMutableLeaves error:nil];
  12. NSLog(@"jsonDict=%@",jsonDict);
  13. [downloader cancel];
  14. }
  15. onFail:^(NSError *error)
  16. {
  17. NSLog(@"auth error=%@",error);
  18. [downloader cancel];
  19. }];
  20. }

##更新日志

###版本0.2

允许暂停和恢复

允许下载与进度
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家小花儿/article/detail/813232
推荐阅读
相关标签
  

闽ICP备14008679号