Naprawdę mam problem, gdy chcę zatrzymać wszystkie bieżące żądania w silniku synchronizacji zbudowanym za pomocą AFNetworking.AFNetworking + cancelAllRequests
Mam 5 różnych adresów URL do zapytania. Każde zapytanie jest uruchamiane, jeśli poprzednie zostało poprawnie wykonane.
To działa bardzo dobrze.
Chcę zatrzymać proces synchronizacji w dowolnym momencie. Więc mój kod, aby to zrobić jest:
- (void)cancelAllRequests
{
NSLog(@"CancelAllRequests");
[[HTTPClient sharedClient] cancelAllHTTPOperationsWithMethod:@"GET" path:@"ws/webapp/services/pull"];
[[HTTPClient sharedClient] cancelAllHTTPOperationsWithMethod:@"GET" path:@"ws/webapp/services/pull_items"];
[[HTTPClient sharedClient] cancelAllHTTPOperationsWithMethod:@"GET" path:@"ws/webapp/services/pull_image"];
[[HTTPClient sharedClient] cancelAllHTTPOperationsWithMethod:@"POST" path:@"ws/webapp/services/push_item"];
[[[HTTPClient sharedClient] operationQueue] cancelAllOperations];
}
Ale ten kod zdaje się nic nie robić. Kiedy chcę anulować, zobaczyłem wszystkie operacje wsadowe działające w moich dziennikach po wywołaniu metody.
Czego mi brakowało? Jeśli anuluję żądania, nie zatrzyma to wszystkich aktywnych operacji budowanych z tymi żądaniami?
Co to jest HTTPClient? Czy należy do AFNetworking? –
Myślę, że miał na myśli: AFHTTPClient * httpClient = [[AFHTTPClients alloc] initWithBaseURL: url]; [[httpClient operationQueue] cancelAllOperations]; – Flaviu