SwiftUIにおけるView Identityに基づくパフォーマンス改善 by kntk

iOSDC Japan 2024
LT(5分)

SwiftUIにおけるView Identityに基づくパフォーマンス改善

kntkymt kntk kntkymt
6

SwiftUIの「View Identity」という概念を知っていますか?
SwiftUIはこのView IdentityによってViewを管理・再描画を行っています。
そのためView Identityの扱いによっては余分な再描画を生んでしまいアプリのパフォーマンスを下げてしまいます。

このLTでは、View Identityについて簡単に説明した後
パフォーマンスが良くないSwiftUIのコードとその改善方法を紹介します。

  • if・switch分岐の影響範囲を減らそう
    • Listなどの描画が重いViewを用いる場合
  • 分岐を引数へ移動させよう
    • 条件によって分岐するmodifierを作る場合
    • OptionSetやSetAlgebraの引数を使う場合

このLTを通してView Identityを意識したパフォーマンスの良いViewを書くアプローチを一緒に学びましょう!