0

Я использую следующий код для осуществления сетевого вызова. Я знаю, что ответ будет выполняться в mainQueue, поскольку я указал параметр очереди как [NSOperationQueue mainQueue], но мне интересно, где будет выполняться фактическая операция sendAsynchronousRequest. Операция вызывается из mainThread, поэтому она будет выполняться асинхронно в основном потоке или NSURLConnection автоматически создает фоновый поток? Для этого нет документации, и инструмент iOS не отображает фоновые потоки, поэтому задается вопросом, как именно это работает! Документ Apple не дает подробностей об этом.iOS, который поток NSURLConnection sendAsynchronousRequest работает на

КСТАТИ Я знаю, что это одобряется, но у нас есть унаследованный код еще мигрировать использовать NSURLSession

[NSURLConnection sendAsynchronousRequest:urlRequest 
            queue:[NSOperationQueue mainQueue] 
         completionHandler:^(NSURLResponse *response, NSData *data, NSError *error) { 
          if(completion) { 
           completion(data, error); 
          } 
         }]; 

Та же проблема, когда вы используете следующие версии;

self.urlConnection = [NSURLConnection connectionWithRequest:urlRequest delegate:self]; 

Здесь также не определен, в какую нить выполняется этот запрос и как это выполняется асинхронно!

+0

это вызывает у вас проблемы или вам просто интересно? – Wain

+0

Это не вызывает никаких проблем, но я хочу убедиться, что операция не должна выполняться на основном потоке и должна быть отсоединена от другого потока. Я не хочу отправлять фоновый поток, если это абсолютно необходимо. – applefreak

ответ

1

NSURLConnection использует собственную внутреннюю очередь. Теперь это обертка вокруг NSURLSession, и вы можете найти очередь (если вам интересно), ища com.apple.NSURLSession-work в вашем списке тем.

+0

Спасибо, Роб! Будет ли выполняться фоновый поток или основной поток? – applefreak

+0

Внутренняя очередь по определению не является основной. И только основная очередь работает на основном потоке. –

 Смежные вопросы

  • Нет связанных вопросов^_^