iOS, NSURLConnection: Delegate Callbacks on Different Thread?

Как заставить NSURLConnection вызывать свои методы делегата из другого потока вместо основного. Я пытаюсь возиться с scheduleInRunLoop:forMode:но, похоже, это не делает того, что я хочу.

Мне нужно загрузить большой файл, и он прерывает основной поток так часто, что некоторые процессы рендеринга начинают работать нечетко.

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];

Другая вещь, которую я не вижу, это "Режимы" Есть только два задокументированных режима, так что не так много, чтобы протестировать.

Есть идеи?

Спасибо

8
задан gngrwzrd 22 November 2011 в 02:15
поделиться