3

Ich hatte eine Anwendung, bei der i synchronisiert Anfragen anzurufenden mit Session-Manager, inWie storniere ich alle afhttspessionmanager-Anfragen im Hintergrund?

dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ 

i

@property(strong,nonatomic)AFHTTPSessionManager *manager; 

und Zuweisung in viewDidLoad wie

manager = [[AFHTTPSessionManager alloc] init]; 
    manager.responseSerializer = [AFJSONResponseSerializer serializer]; 
    manager.responseSerializer.acceptableContentTypes = [NSSet setWithObjects:@"application/json", @"text/json", @"text/javascript",@"text/html", nil]; 
    AFJSONResponseSerializer *responseSerializer = [AFJSONResponseSerializer serializerWithReadingOptions:NSJSONReadingAllowFragments]; 

    [manager setResponseSerializer:responseSerializer]; 

ein globales bin mit und Eine Gruppe von Anfragen findet in einem Zyklus statt. es ist für mich eine Möglichkeit, alle Anfragen für mich zu stornieren, wo ich

for (manager in self.arrayOfTasks) { 

     [manager invalidateSessionCancelingTasks:YES]; 
    } 




    manager=nil; 
täte

, aber das Problem ist, nach dem Abbrechen werden auch diese Anfragen wieder geschehen und again.it niemand ist cancelling.can leiten mich zu finden wo ich falsch liege?

+0

siehe http://stackoverflow.com/questions/39092183/cancel-all-operations-afnetworking-3-0 –

Antwort

1

Sie können dies unter Code versuchen, alle die Aufgabe für AFHTTPSession-Manager abzubrechen gestartet:

for (NSURLSessionTask *task in manager.tasks) 
    { 
     [task cancel]; 
    } 

Auch für einzelne Upload- und Download-Aufgabe Stornierung:

herunterladen Aufgabe Stornierung:

for (NSURLSessionTask *task in manager.downloadTasks) 
     { 
      [task cancel]; 
     } 

Aufgabeaufgabe hochladen:

for (NSURLSessionTask *task in manager.uploadTasks) 
     { 
      [task cancel]; 
     } 
Verwandte Themen