отмена загрузок с помощью AFNetworking с помощью cancelAllHTTPOperationsWithMethod не работает

StackOverflow https://stackoverflow.com//questions/10676897

Вопрос

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

NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:urlString]];
AFHTTPRequestOperation *operation = [[AFHTTPRequestOperation alloc] initWithRequest:request];

[operation setCompletionBlockWithSuccess:^(AFHTTPRequestOperation *operation, id responseObject)
                                         {
                                             //do success stuff

                                         }
                                 failure:^(AFHTTPRequestOperation *operation, NSError *error)
                                         {
                                             NSLog(@"Error downloadMovie: %@", error);
                                         }];
[operation start];

Это прекрасно работает.Но как я могу принудительно остановить загрузку?Я читал об использовании этого метода:

cancelAllHTTPOperationsWithMethod

Если я использую его таким образом, он ничего не делает:

AFHTTPClient *client = [[AFHTTPClient alloc] initWithBaseURL:@"http://www.xyz/mymovie.mp4"];
[client cancelAllHTTPOperationsWithMethod:nil path:@"http://www.xyz/mymovie.mp4"];

Как правильно отменить загрузку?

Спасибо заранее.

Это было полезно?

Решение

AFHTTPRequestOperation является подклассом NSOperation, который имеет -cancel метод.Используйте это.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top