使用AFAetworking取消下载使用cancelAllHTTPOperationsWithMethod不起作用

时间:2012-05-20 20:22:40

标签: iphone ios networking afnetworking

我无法通过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"];

取消下载的正确方法是什么?

非常感谢提前。

1 个答案:

答案 0 :(得分:5)

AFHTTPRequestOperationNSOperation的子类,具有-cancel方法。使用它。