iOSエンジニアのつぶやき

毎朝8:30に iOS 関連の技術について1つぶやいています。まれに釣りについてつぶやく可能性があります。

【Swift】UICollectionViewDiffableDataSourceでの同一値

UICollectionViewDiffableDataSourceを使ってみたところ、アイテムを表示する際の挙動が予想と違ったので軽くメモ👀

何が違ったのか?

複数のセクションで、値が同じアイテムを使うと、一方のセクションではそのアイテムが表示されなくなる。

例えば、セクションAとセクションBで、下記の.itemAをアイテムコレクションに含んでいた場合は、インデックスの早いセクションでは、.itemAが表示されなくなります。

enum ItemType: Hashable {
    case itemA
    case itemB
}

回避策

enumにAssociatedValueを追加して、それぞれのセクション毎にアイテムを取得するようにすることで、重複を防ぎアイテムを表示させることができます🐟

enum ItemType: Hashable {
    case itemA(section: Int)
    case itemB(section: Int)
}

てな感じで本日も以上となります🍺

その他の記事

yamatooo.blog

yamatooo.blog

yamatooo.blog