Сопрограмма - это особая техника реализации. То, что вы хотите сделать, это работать в фоновом режиме, не блокируя пользовательский интерфейс.
Для iOS и Mac OS X существует два основных метода: запуск циклов и потоков.
Если вы просто загружаете некоторые данные через URL-адрес HTTP, вы можете начать загрузку и сказать ей, чтобы она уведомляла вас, когда это будет сделано или когда у вас есть некоторые данные для вас. Загрузка URL-адреса будет управлять собственным параллелизмом с использованием текущего цикла выполнения, и ваше приложение сможет взаимодействовать с пользователем.
Если вам нужно выполнить собственную обработку, вы можете выделить фоновый поток, чтобы сделать это, используя NSOperationQueue и NSOperatipn, используя GCD (dispatch_ *) или непосредственно используя NSThread. Если вы делаете это, вам нужно понимать параллельное программирование, защиту общего состояния с помощью мьютексов (блокировок) и других механизмов синхронизации и т. Д.
Для загрузки только URL-адреса используйте собственную поддержку параллелизма NSURLDownload. Для более трудоемкой работы, попробуйте NSOperation.