SwiftUIでの非同期処理データの状態管理を考える by kntk

iOSDC Japan 2023
採択
2023/09/02 17:25〜
Track C
レギュラートーク(20分)

SwiftUIでの非同期処理データの状態管理を考える

kntkymt kntk kntkymt

みなさんはSwiftUIで非同期処理データの状態管理をどう行なっていますか?

  • enumを使う方法: enum DataState { case loading; case success(Value); ... }
  • コンポーネントを使う方法: LoadingContent(fetch: fetch) { Content($0) }

などがあると思いますが

  • リロード中は前回の結果を表示したい場合
  • ページングに対応する場合

等の要件で、微妙に異なるバリエーションがいくつか存在する上、それらの方法にはメリットとデメリットがあります。
パフォーマンス低下を引き起こしていることも...。

このトークは、このような状態管理方法を複数個、実装ケースと共に紹介・考察し
それぞれの方法がどのような実装ケースに適しているかを分析・分類していく内容となっています。