我正在下载图像,并希望提供某种形式的下载进度:

    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%的进度,因为它已经下载了。

08-04 01:00