iOS - 下载文件时的渐进式下载指示器

时间:2012-12-13 23:22:18

标签: ios download nsdata progress

所以这个问题已被多次询问,但所有答案都是我们不再支持的ASIHTTP库。

所以我希望有人能引导我朝着正确的方向前进。 我使用NSData在我的应用程序中下载文件(图像/视频),并想知道如何显示实际跟踪下载进度的进度条/指示器(即20%,30%等)

是否有任何内置类允许使用进度更新来跟踪文件下载?

3 个答案:

答案 0 :(得分:4)

如果您有NSURLConnection代表,那么:

  • 您收到NSURLResponse的{​​{1}}类型为connection:didReceiveResponse:。如果您访问NSHTTPURLResponse,您将获得一个字符串,其中包含您希望收到的数据的长度;
  • 随后通过[[response allHeaderFields] valueForKey:@"Content-Length"]积累数据,您就会知道已经返回了多少数据。

因为你知道你收到了多少字节以及你期望的数量,所以你很容易计算出这个百分比。

答案 1 :(得分:1)

ASIHTTP有几种替代选项。领先者是AFNetworking。它包括对下载进度条的支持。

答案 2 :(得分:-1)

查看ASIHTTPRequest。令人敬畏的是,这会做更多更多奇妙的事情。

http://allseeing-i.com/ASIHTTPRequest/