UICollectionViewのセルの実装にSwiftUIを活用する by 宇佐見 公輔

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

UICollectionViewのセルの実装にSwiftUIを活用する

usamik26 宇佐見 公輔 usamik26
7

最近のiOSアプリ開発では、UIKitとSwiftUIを併用するパターンが増えています。従来のUIKitをベースにしつつ部分的にSwiftUIを使うことで、開発効率の良さなどの恩恵を得るという考え方です。

しかし、併用のしかたに注意が必要な場合があります。そのひとつがUICollectionViewのセルです。データ表示のパフォーマンス向上のため、セルには再利用の仕組みがあります。ただ、その仕組みの影響で、セルのUIをSwiftUIで実装する場合には注意が必要になってしまいます。

iOS 16で、UIHostingConfigurationが導入されました。これを利用するとセルの実装にSwiftUIが使えます。さらに、ObservableObjectを使ってデータとセルとを直接バインディングできるため、セルをUIKitで実装する場合よりも便利になります。本トークではこれらを解説します。