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 に答える