don*_*ile 24 iphone nsurlconnection progress-bar
我想在使用NSURLConnection进行下载时显示进度条.当我从服务器获取数据时,我可以更新每个收到的包的UI.但问题是:我如何计算出已有多少数据,以及需要下载多少数据?可能是字节......然后我必须做一些数学来获得百分比?
Ste*_*ntz 63
在您的NSURLConnection委托中,实现类似的内容以查找总内容长度.服务器必须支持这一点,但它很可能适用于静态内容:
- (void)connection: (NSURLConnection*) connection didReceiveResponse: (NSHTTPURLResponse*) response
{
statusCode_ = [response statusCode];
if (statusCode_ == 200) {
download_.size = [response expectedContentLength];
}
}
Run Code Online (Sandbox Code Playgroud)
然后像这样更新进度:
- (void) connection: (NSURLConnection*) connection didReceiveData: (NSData*) data
{
[data_ appendData: data];
download_.progress = ((float) [data_ length] / (float) download_.size);
// Broadcast a notification with the progress change, or call a delegate
}
Run Code Online (Sandbox Code Playgroud)
在我的情况下,我有一个具有size和progress属性的下载实例.它们由全局DownloadManager对象拥有,该对象将负责通知感兴趣的各方下载进度或状态更改.
| 归档时间: |
|
| 查看次数: |
23444 次 |
| 最近记录: |