В документации NSURLConnection говорится, что NSURLConnection выполняется в отдельном потоке, а методы делегата вызываются в потоке, который запустил соединение.
У меня есть несколько объектов NSURLConnection, заключенных в объекты «URLDownload‹ NSURLConnectionDelegate> », которые я запускаю параллельно.
Приостановив свою программу (в какой-то момент я поставил в нее точку останова) и заглянув в Debug Navigator, я увидел только один поток com.apple.NSURLConnectionLoader.
Вот как, я думаю, это работает:
- Я создаю 5 объектов URLDownload (каждый из них имеет собственное NSURLConnection)
- Создается 5 потоков (по одному для каждого NSURLConnection)
- Каждый NSURLConnection вызывает свои методы делегата в потоке, который их запустил.
Итак, существует 5 потоков (по одному для каждого NSURLConnection), но их данные (метод didReceiveData ... и другие) обрабатываются в одном потоке.
Я правильно понял?