iOS 预加载列表数据

预加载(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的时候加载。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,911评论 25 709
  • 前两次的分享分别介绍了 ASDK 对于渲染的优化以及 ASDK 中使用的另一种布局模型;这两个新机制的引入分别解决...
    Kevin追梦先生阅读 10,367评论 2 12
  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 14,687评论 1 92
  • 我不想时光飞逝 我不想世事沧桑 我不想你容颜易改 我不想我忘记以往 我走过时光 也曾历尽沧桑 我寒夜起床 只为记起...
    晨尘辰阅读 2,860评论 3 11
  • 五维阅读第二课重新定义快速阅读 今天学了六子老师五维阅读课的第二课,重新定义快速阅读。文中老师抛出一个问题“阅读速...
    明天的明天的明天1阅读 2,905评论 0 2

友情链接更多精彩内容