レギュラートーク(30分)

OperationとOperationQueueで実現する非同期処理 iOSDC Japan 2019

1
taka1068 Takanori Hirobe taka1068

iOSアプリで非同期処理を行いたいときは、RxSwiftやReactiveSwift、あるいはPromiseKitといったライブラリを使うことが多いと思います。
iOS 13からはCombineフレームワークも使えるかもしれません。

しかし、ライブラリを使うと依存が増えてしまいますし、CombineはiOS 13以降しか使えないというデメリットがあります。そこで有効なのがOperationとOperationQueueです。昔からFoundationフレームワークに含まれていますが、非常に柔軟な機能を提供してくれるため、iOS開発の非同期処理のための第3の選択肢となり得る力を十分に持っています。

そんなOperationとOperationQueueで非同期処理を実現する方法について紹介します。UI処理からAPIのハンドリングまで扱うので、実際のアプリに取り入れることも十分可能な内容となります。