所以这个问题已经被问了很多次,但所有的答案都是我们不再支持的 ASIHTTP 库。
所以我希望有人能把我引向正确的方向。我使用 NSData 在我的应用程序中下载文件(图像/视频),并且想知道如何显示实际跟踪下载进度的进度条/指示器(即 20%、30% 等)
是否有任何内置类允许使用进度更新跟踪文件下载?
如果您有NSURLConnection
委托,那么:
NSURLResponse
您收到的将connection:didReceiveResponse:
是 type NSHTTPURLResponse
。如果您访问[[response allHeaderFields] valueForKey:@"Content-Length"]
,您将获得一个字符串,其中包含您期望接收的数据长度;connection:didReceiveData:
你就会知道返回了多少数据。由于您知道您收到了多少字节以及您期望多少字节,您将能够很容易地计算出百分比。
ASIHTTP 有几个替代选项。领先的是AFNetworking。它包括对下载进度条的支持。
查看 ASIHTTPRequest 。太棒了,会做更多更奇妙的事情。