iOS, NSURLConnection: Delegar retornos de chamada em threads diferentes?

Como posso obter NSURLConnection para chamar seus métodos de delegação de um thread diferente em vez do thread principal. Estou tentando mexer com o scheduleInRunLoop: forMode: mas não parece fazer o que eu quero.

Tenho que baixar um arquivo grande e ele interrompe o thread principal com tanta frequência que algumas renderizações que estão acontecendo começam a ficar instávei

NSURLRequest * request = [NSURLRequest requestWithURL:url];
NSURLConnection * connection = [[NSURLConnection alloc] initWithRequest:request delegate:self startImmediately:NO];
NSRunLoop * loop = [NSRunLoop currentRunLoop];
NSLog(@"loop mode: %@",[loop currentMode]);
[connection scheduleInRunLoop:[NSRunLoop currentRunLoop] forMode:NSRunLoopCommonModes];
[connection start];

A outra coisa que eu não vejo muito é "Modos". Existem apenas dois modos documentados, então não há muito o que testa

Alguma ideia

Obrigad

questionAnswers(4)

yourAnswerToTheQuestion