我无法通过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"];
取消下载的正确方法是什么?
非常感谢提前。
答案 0 :(得分:5)
AFHTTPRequestOperation
是NSOperation
的子类,具有-cancel
方法。使用它。