gpt4 book ai didi

ios - 没有二维数组的快速 UICollectionView 部分分离

转载 作者:行者123 更新时间:2023-11-28 08:08:14 24 4
gpt4 key购买 nike

例子

// My data to use
let items: [Any] = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 ...]

/*
// UICollectionView result I want

<Section [Item1, Item2, Item3]>
<Other Section A>
<Section [Item4, Item5, Item6]>
<Other Section B>
<Section [Item7, Item8, Item9]>
<Other Section A>
<Section [Item10, Item11, Item12]>
<Other Section B>
*/

如果我的数据是如下所示的二维数组,我可以更容易地看到结果。

let items: [[Any]] = [[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12] ...]

但我认为我应该只使用一维数组。

因为我的项目会经常添加/删除。并且需要 API 通信.. 并且需要 LoadMore 函数.. 如果使用二维数组,这些事情可能会变得复杂。这个问题与其他部门的立场有关。

是否只能是一维数组?我的想法是正确的吗?

最佳答案

如果每个部分都有三个项目,您可以简单地计算出每个部分将拥有多少个部分和项目:

func numberOfSections(in collectionView: UICollectionView) -> Int {
return items.count / 3 + 1
}

func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
return min(3, items.count - 3 * section)
}

func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
let item = items[indexPath.section * 3 + item]
// do something with item
}

关于ios - 没有二维数组的快速 UICollectionView 部分分离,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44496614/

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