预加载(TableView或者CollectionView):在用户阅读了最新页码数据的70%时(根据实际情况调节),进行下一页数据的加载。这样在用户阅读完已加载的时候,应用已经在加载下一页数据了。在强网下,新的一页数据应该已经得到了,用户也就不用再进行一次上拉的操作。scrollViewDidScroll方法中处理预加载。
值得注意的是每次预加载时,70%这一数字不应该是下面的ratio
let current = scrollView.contentOffset.y + scrollView.frame.size.height
let total = scrollView.contentSize.height
let ratio = current / total
比如在cell的size都相同时,一页数据有10个,第一页在用户看到10 * 70% = 7的时候加载,这是正确的,但是在第二页时,如果20 * 70% = 14的时候加载,也就是说,第二页在看了4个的时候加加载了,再往下到第4页的时候,40 * 70% = 28,在第3页还没看完的时候,就去加载第5页,但是第4页还没看,这不是我们想要的。我们想要的是在看第二页的时候看到第17个是加载,第3页在加载27的时候加载。
网友评论