2

我无法使用 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"];

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

提前谢谢了。

4

1 回答 1

5

AFHTTPRequestOperation是 的子类NSOperation,它有一个-cancel方法。用那个。

于 2012-05-22T03:43:17.463 回答