我正在尝试使用(出于充分的理由)深度超过两层的数据结构来支持我的 UICollectionView 的数据源。换句话说,我的数据可以分成多个部分,但并非所有这些部分都只包含项目。有些包含项目数组(或“嵌套部分”,可以这么说)。这些项目可以很容易地通过索引路径引用三个索引长(例如 3.2.4),但 UICollectionView 的数据源方法似乎只支持最多两个索引长的索引路径。
所有 UICollectionView API 都使用 NSIndexPaths 来引用集合视图项,因此理论上它们应该与任意数量的索引一起使用。collectionView:numberOfItemsInSection:
挑战在于当数据源协议仅提供并
numberOfSectionsInCollectionView:
指定它需要请求的索引时,让集合视图“知道”为这些更深索引处的项目请求单元格、布局属性等。
有什么方法不需要我(a)子类化 UICollectionView,Apple 明确不鼓励(“实现自定义布局的提示”下的第二点)或(b)扁平化我的数据结构,这将小于理想,并且鉴于 UICollectionView 已经提供的 API,这似乎是不必要的限制?