И OS X, и iOS могут выполнять задачи параллельно, с использованием асинхронного подхода. Объектно-ориентированный способ инкапсулировать работу, которую вы хотите выполнять асинхронно, — это использовать Operation и OperationQueue.
Apple недавно опубликовала предложение о добавлении модели корутинов в Swift. Она предлагает более удобный, эффективный и безопасный способ управления конкурентными задачами. Синтаксис Async/Await был введен на первом этапе структурированного параллелизма, чтобы позволить пользователям организовывать сложные асинхронные вызовы в обычных механизмах потока управления.
В этой статье продемонстрируют разницу между реализацией решения с OperationQueue и Async/Await.