swift - Swift 4 的简单分页功能
问题描述
我需要分页功能的帮助,例如我有一个包含 1624 个项目的端点,但每次调用总共只有 100 个。
所以我需要一个有 2 个参数的函数,totalItems 和 paginationLenght,所以如果我传递 1624 和 100,并且此函数返回包含此数据的数组或 dict,例如:
[1, 100]
[101, 200]
[201, 300]
...
[1601, 1624]
PD:我使用 Swift 4。我们将不胜感激。
解决方案
这是:
var pages = [[Int]]()
let totalItems = 1624
let pageSize = 100
let segments = totalItems / pageSize
for i in 0...segments {
let step = i * pageSize
let start = step + 1
let end = step + pageSize
pages.append([start, min(end, totalItems)])
}
print(pages)