1

我在使用 NSUrlConnection 下载时尝试使用进度条

我错过了什么,但不知道是什么

看我的代码

在我的 .hi 中有

NSMutableData *receivedData;

    NSNumber  *FileSize;

我用它来计算进度条的百分比

在我的.m

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

{   
    [receivedData setLength:0];

    FileSize = [NSNumber numberWithLongLong:[response expectedContentLength]];
}

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

{

    [receivedData appendData:data];

    NSNumber *resourceLength = [NSNumber numberWithUnsignedInteger:[receivedData length]];
    NSLog(@"resourceData length: %d ", [resourceLength intValue]);


    NSNumber *progress = [NSNumber numberWithFloat:([resourceLength floatValue] / [FileSize floatValue])];
    updateProgressBar.progress = [progress floatValue];
}

当它到达 FileSize 的线时,它会崩溃

2010-10-05 22:32:19.924 Quran[2067:207] resourceData 长度:1090 节目接收信号:“EXC_BAD_ACCESS”。

4

1 回答 1

3

我相信这FileSize = [NSNumber numberWithLongLong:[response expectedContentLength]];会给你一个自动发布的 NSNumber ,你需要保留在某个地方。也许您正在代码中的其他地方执行此操作,但那是您可能会获得 EXC_BAD_ACCESS 的地方。

于 2010-10-05T19:40:13.650 回答