NSURLConnection Assíncrono e NSOperação – cancelamento

Quero cancelair todos os requests. Aqui está como eu estou criando connection assíncrona:

[NSURLConnection sendAsynchronousRequest:echo queue:self.queue completionHandler:^(NSURLResponse *respone, NSData *data, NSError *error){ 

Eu então uso esse método:

 -(void)cancelAllRequests { NSLog(@"%@",self.queue.operations); [self.queue cancelAllOperations]; [self.queue waitUntilAllOperationsAreFinished]; } 

paira cancelair todos os requests.

O que realmente não faz nada, exceto mudair um BOOL paira YES.

Então, como eu deviewia cancelair uma connection assíncrona?

Solutions Collecting From Web of "NSURLConnection Assíncrono e NSOperação – cancelamento"

Não é possível cancelair as conexões agendadas usando sendAsynchronousRequest . A queue paira a qual você está se referindo é usada apenas paira programair o manipulador de preenchimento.

Se você deseja o controle total da NSURLConnection , você terá que implementair NSURLConnectionDelegate você mesmo. Um exemplo de implementação pode ser encontrado em https://gist.github.com/3794804

O que você pode fazer é colocair solicitações síncronas em uma Operação (usando um bloco).

O set the NSOperationQueue maxNumberOfConcurrentOperations paira 1 (paira que eles funcionem um de cada vez).

Então, se você executair cancelAllOperations na queue, irá pairair as operações que ainda não foram executadas.