有没有办法从一个大的对象列表中只加载几个项目并填充到 UICollectionView 中

Is there a way to load only a few items from a large list of objects and populate into a UICollectionView

我有一个包含 100 个对象的列表,但我只想加载前 10 个并将其填充到我的 UICollectionView 中,当我向下滚动时,我可以将剩余的对象填充到列表中。

这必须在 UICollectioView 和 Swift 4 及以上

中执行

如果您已经有了数组,您可以将它拆分成页面,然后显示您需要的页面:

let entries = Array(1...100).split(into: 10)

...使用此扩展程序:

extension Array {
    func split(into size: Int) -> [[Element]] {
        return stride(from: 0, to: count, by: size).map {
            Array(self[[=11=]..<Swift.min([=11=] + size, count)])
        }
    }
}

然后,您可以将第一个数组显示为第一页,第二个显示为第二页,依此类推。


取自here