我正在下载图像,并希望提供某种形式的下载进度:
NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:post.url]];
AFHTTPRequestOperation *imageOperation = [[AFHTTPRequestOperation alloc] initWithRequest:request];
imageOperation.responseSerializer = [AFImageResponseSerializer serializer];
[imageOperation setDownloadProgressBlock:^(NSUInteger bytesRead, long long totalBytesRead, long long totalBytesExpectedToRead) {
NSLog(@"bytesRead: %d, totalBytesRead: %lld, totalBytesExpected: %lld", bytesRead, totalBytesRead, totalBytesExpectedToRead);
}];
之后,我还有一个完成块和
[imageOperation start];
。但是,如果我选择要下载的图像,则记录的所有内容是:
bytesRead:72081,totalBytesRead:72081,totalBytesExpected:72081
为什么最后只给我信息?
最佳答案
最终由于我之前已经加载了该映像,所以我认为操作系统已缓存了结果。因此它只返回100%的进度,因为它已经下载了。