Mastering AsyncSequence - 使う・作る・Delegate などのパターンから移行する by treastrain / Tanaka Ryoga

iOSDC Japan 2024
レギュラートーク(20分)

Mastering AsyncSequence - 使う・作る・Delegate などのパターンから移行する

treastrain treastrain / Tanaka Ryoga treastrain
5

これまで、データが非同期に流れてくる処理には Delegate パターンなどが用いられてきました。また、Apple プラットフォームでは Combine といったフレームワークも使用されてきました。

これらのほとんどは、Swift 5.5 で追加された AsyncSequence を使用する方法へと移行できます。実際、Apple が提供するフレームワークでも、従来 Delegate パターンが用いられてきたような非同期にイベントを伝える API について、最近新規に追加されたものは AsyncSequence を採用しています。この AsyncSequence に移行することで、Swift Concurrency が持つアクター分離などのさまざまなメリットを享受できます。一方で、非同期なシーケンスならではのメモリリークにも注意が必要です。

このトークでは、AsyncSequence の基礎について簡単におさらいし、Delegate パターンからの移行方法、移行するメリットや注意点について、iOS アプリの具体例を用いながら詳しく紹介します。

Delegate、今までありがとう。これからは AsyncSequence でやっていくよ。