gpt4 book ai didi

ios - 在 UICollectionView 数据源中使用深度索引路径

转载 作者:行者123 更新时间:2023-12-01 16:48:03 29 4
gpt4 key购买 nike

我正在尝试使用(出于充分的理由)深度超过两层的数据结构来支持我的 UICollectionView 的数据源。换句话说,我的数据可以分成多个部分,但并非所有这些部分都只包含项目。有些包含项目数组(或“嵌套部分”,可以这么说)。这些项目可以很容易地通过索引路径引用三个索引长(例如 3.2.4),但 UICollectionView 的数据源方法似乎只支持最多两个索引长的索引路径。

所有 UICollectionView API 都使用 NSIndexPaths 来引用 Collection View 项,因此理论上它们应该与任意数量的索引一起使用。挑战在于,当数据源协议(protocol)仅提供 collectionView:numberOfItemsInSection: 时,让 Collection View “知道”以请求这些更深索引处的项目的单元格、布局属性等。和numberOfSectionsInCollectionView:指定它需要请求的索引。

有什么方法不需要我(a)子类 UICollectionView,Apple explicitly discourages (“实现自定义布局的提示”下的第二点)或(b)扁平化我的数据结构,这不太理想,并且鉴于 UICollectionView 已经提供的 API,这似乎是不必要的限制?

最佳答案

在标准 collectionView(或 tableView)的方案中,拥有三层索引没有逻辑意义。我见过一些很酷的表格 View ,它们具有“扩展”单元格,它们的工作方式与您描述的方式相同。只是表示扩展单元格的对象告诉表格它有多个可用项目。

我无法理解您的 collectionView 应该如何作为最终产品。如果您在某些索引路径处遇到数组,您要表示什么?我不想告知您的设计,但为什么不在该特定索引处显示一个项目,当用户选择它时,展开或显示带有这些后续项目的另一个 View ?

关于ios - 在 UICollectionView 数据源中使用深度索引路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18408823/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com