UICollectionView のデータ ソースを (正当な理由で) 2 層以上の深さのデータ構造でバックアップしようとしています。つまり、データをセクションに分割できますが、それらのセクションのすべてに項目が含まれているわけではありません。項目の配列(いわば「ネストされたセクション」) を含むものもあります。これらの項目は、 3 つのインデックス長 (たとえば 3.2.4)のインデックス パスで簡単に参照できますが、UICollectionView のデータ ソース メソッドは、 2 つのインデックス長までのインデックス パスしかサポートしていないようです。
すべての UICollectionView API は NSIndexPaths を使用してコレクション ビュー アイテムを参照するため、理論的には任意の数のインデックスで動作するはずです。課題は、コレクション ビューに、データ ソース プロトコルのみが提供する場合にこれらのより深いインデックスでアイテムのセル、レイアウト属性などを要求し、要求する必要があるインデックスを指定することを「認識」させることですcollectionView:numberOfItemsInSection:
。
numberOfSectionsInCollectionView:
(a) Appleが明示的に推奨していないUICollectionViewのサブクラス化(「カスタムレイアウトを実装するためのヒント」の2番目のポイント)または(b)データ構造を平坦化する必要がない、これを回避する方法はありますか?理想的であり、UICollectionView が既に提供している API を考えると、どれが不必要に制限されているように見えますか?