iOS-如何自己写一个带有进度条的下载类

来源:互联网 发布:淘宝大额优惠券 编辑:程序博客网 时间:2024/04/29 21:19

自己实现一下含有进度条的文件下载器,其实并不难,苹果早已经为我们提供了方法!使用NSURLConnection去下载文件,然后就可以在它代理方法中获取到我们需要文件总长度以及当前以下载文件长度。

- (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response {

    NSInteger status = [(NSHTTPURLResponse *)responsestatusCode];

    if (status !=200) {

        [connection cancel];

    }

    // 获取文件总长度

    _totalFileLength = response.expectedContentLength;

}


- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data {

    _downloadFileLength += data.length; // 计算已经下载的文件总长度

    _downloadFileScale =_downloadFileLength*1.0/_totalFileLength; // 用当前已经下载文件长度除以下载文件总长度 == 下载进度

}


是不是很简单!其实我也实在老外的网站 stack overflow上得到的提示!不要以为自己的英文水平不行,就不去上面查找问题方法,其实仅仅需要输入简单的几个关键词就可以了!比如 download a file with progress,我就轻易地解决了我的问题! 当然,已经有了很多第三方的东东,可以帮大家解决这类问题,但是自己亲自实现后的乐趣,不是更美妙吗?

0 0
原创粉丝点击