iOSアプリで非同期処理を行いたいときは、RxSwiftやReactiveSwift、あるいはPromiseKitといったライブラリを使うことが多いと思います。
iOS 13からはCombineフレームワークも使えるかもしれません。
しかし、ライブラリを使うと依存が増えてしまいますし、CombineはiOS 13以降しか使えないというデメリットがあります。そこで有効なのがOperationとOperationQueueです。昔からFoundationフレームワークに含まれていますが、非常に柔軟な機能を提供してくれるため、iOS開発の非同期処理のための第3の選択肢となり得る力を十分に持っています。
そんなOperationとOperationQueueで非同期処理を実現する方法について紹介します。UI処理からAPIのハンドリングまで扱うので、実際のアプリに取り入れることも十分可能な内容となります。