我正在尝试使用NSUrlConnection下载时使用进度条
我错过了什么,但不知道是什么
查看我的代码
在我的.h我有
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古兰经[2067:207]资源数据长度:1090 程序接收信号:“EXC_BAD_ACCESS”。
答案 0 :(得分:3)
我相信FileSize = [NSNumber numberWithLongLong:[response expectedContentLength]];
正在给你一个自动释放的NSNumber,你需要保留在某个地方。也许你在代码中的其他地方这样做,但这可能是你获得EXC_BAD_ACCESS的地方。