Ios swift UICollectionView截面分离,无需二维阵列

Ios swift UICollectionView截面分离,无需二维阵列,ios,arrays,swift,uitableview,uicollectionview,Ios,Arrays,Swift,Uitableview,Uicollectionview,范例 但我认为我应该只使用一维数组 因为我的项目将频繁添加/删除。并且需要API通信。。需要更多的功能。。如果使用2d数组,这些事情可能会变得复杂。这个问题与其他部门的立场有关 可能只有一维数组吗?我的想法是正确的吗?如果你在每个部分有三个项目,你可以简单地计算出每个部分有多少个部分和项目: let items: [[Any]] = [[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12] ...] 你如何决定哪个项目放在哪个部分?每个部分只有三个项目吗?@

范例

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

因为我的项目将频繁添加/删除。并且需要API通信。。需要更多的功能。。如果使用2d数组,这些事情可能会变得复杂。这个问题与其他部门的立场有关


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

如果你在每个部分有三个项目,你可以简单地计算出每个部分有多少个部分和项目:

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

你如何决定哪个项目放在哪个部分?每个部分只有三个项目吗?@overactor是的。回答得好。谢谢我只知道投票。。但它需要15个声誉。所以我想我什么都做不了。多亏了你的评论,我现在知道“马克”了。我不会忘记的。
let items: [[Any]] = [[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12] ...]
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
}