如何在iOS中检查从internet下载数据的百分比?

如何在iOS中检查从internet下载数据的百分比?,ios,nsdata,Ios,Nsdata,我正在尝试将数据从internet下载到iOS中的NSData 当我从互联网上下载数据时,我看不出从服务器上下载了多少百分比 我没有使用UIWebView 使用NSData从Internet下载声音(.mp3) 我能知道从网上下载了多少数据吗 提前谢谢。我建议看一下: 你可以很容易地跟踪上传和下载过程,它和其他好东西 塞巴斯蒂安的步骤: 1) 通过对.mp3 URL的请求创建NSURLConnection 2) 将self设置为此连接的代理 3) 实现NSURLConnectionDataDel

我正在尝试将数据从internet下载到iOS中的NSData

当我从互联网上下载数据时,我看不出从服务器上下载了多少百分比

我没有使用UIWebView

使用NSData从Internet下载声音(
.mp3

我能知道从网上下载了多少数据吗


提前谢谢。

我建议看一下:

你可以很容易地跟踪上传和下载过程,它和其他好东西

塞巴斯蒂安的步骤:

1) 通过对.mp3 URL的请求创建NSURLConnection

2) 将
self
设置为此连接的代理

3) 实现NSURLConnectionDataDelegate协议。(在类的接口声明旁边添加

4) 实施这些方法:

- (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response
{
    NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *)response;
    statusCode = [httpResponse statusCode];
    if ((statusCode/100) == 2) 
    {
        contentLength = [httpResponse expectedContentLength];
        if (contentLength == NSURLResponseUnknownLength) 
                NSLog(@"unknown content length %ld", contentLength);
    }

}

- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data
{
    bytesSum += [data length];
    percent = (float)bytesSum / (float)contentLength;

    // append the new data to the receivedData
    [receivedData appendData:data];     //received data is a NSMutableData ivar.

}

- (void)connectionDidFinishLoading:(NSURLConnection *)connection
{
     //the end. Write your data ( stored in receivedData ) to a local .mp3 file.
}
希望这有帮助


干杯

您使用的下载方法是什么?实现NSURLConnectionDataDelegate。您将看到一个方法,它告诉您整个包有多少字节以及现在有多少字节。您应该将新数据附加到已下载的数据中,并计算currentDataBytes/totalBytes的百分比。谢谢,您可以用示例代码指导我吗。请。错误?你是否在课堂上声明了ivar
long bytesSum
?只是好奇,你为什么要将
statusCode
除以100并检查2?为什么不检查200?@Undo-因为2xx是成功的状态代码类。最常见的,是的,你对200感兴趣,但你永远不知道。如果你问我201也可以。列表如下:即使是ASIHTTPRequest的开发人员也不建议您再使用它;