Когда я устанавливаю свой downloadProgressBlock для AFNetworking, он вызывается только один раз в самом конце

Я загружаю изображение и хотел бы представить некоторую форму прогресса для загрузки:

    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, totalBytes Ожидаемое: 72081

Почему это только дает мне информацию в конце?

1 ответ

Все закончилось тем, что я уже загрузил этот образ, поэтому я предполагаю, что ОС кэширует результат. Таким образом, он вернул только 100% прогресса, поскольку он уже был загружен.

Другие вопросы по тегам