iOS开发 -文件下载(下载功能的封装)

本文介绍了如何将iOS应用中的文件下载功能进行封装,以简化代码并便于管理多个文件下载。通过创建一个文件下载器类,实现了利用block进行下载进度更新,详细阐述了下载器的实现及主控制器如何监听并处理下载进度、完成和失败情况。此外,还提供了在已有项目中更改文件和项目名称的步骤。
摘要由CSDN通过智能技术生成
一、简单说明

在前面几篇文章介绍下载代码的基础上,此文分析对下载功能进行封装。

通过之前的代码,我们发现仅仅是下载一个文件就需要写很长的代码,那么如果要下载多个文件,就需要写多份代码。在这里,我们把下载一个文件的代码进行封装。控制器只需要知道,下载哪个文件,下载到哪个路径就可以了。

在对下载的功能进行封装后,添加一个文件下载器,一个文件下载器只下载一个文件,封装后如果要下载多个文件的话,那么只需要创建多个文件下载器对象就可以进行控制和下载了。

 

二、代码示例

1.代码:

新建一个类,让其继承自NSObject类,一个文件下载器只下载一个文件。

自定义类的头文件代码:

复制代码
复制代码
 1 //
 2 //  YYfileDownloader.h
 3 //  
 4 //
 5 //  Created by apple on 14-7-1.
 6 //  Copyright (c) 2014年 itcase. All rights reserved.
 7 //
 8 
 9 #import 
10 
11 @interface YYfileDownloader : NSObject
12 //下载的远程url(连接到服务器的路径)
13 @property(nonatomic,strong)NSString *url;
14 //下载后的存储路径(文件下载到什么地方)
15 @property(nonatomic,strong)NSString *destPath;
16 //是否正在下载(只有下载器内部清楚)
17 @property(nonatomic,readonly,getter = isDownloading)BOOL Downloading;
18 //用来监听下载进度
19 @property(nonatomic,copy)void (^progressHandler)(double progress);
20 //用来监听下载完成
21 @property(nonatomic,copy)void (^completionHandler)();
22 //用来监听下载错误
23 @property(nonatomic,copy)void(^failureHandler)(NSError *error);
24 -(void)pause;
25 -(void)start;
26 @end
复制代码
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值