ios - 预加载 UITableView 单元格

标签 ios uitableview

我有一个 UITableView,它从预取相对昂贵的数据库中检索一些数据。为了解决这个问题,我使用了 LazyTableImages 中的设计思想。使用 [UITableView visibleCells] 在滚动结束时获取可见行数据的示例代码。

这在性能方面效果很好,但它有两个我想解决的交互问题:

  1. 在滚动完全停止之前不会加载数据(即 scrollViewDidEndDecelerating)。因此,如果我在列表中缓慢滚动,我必须停止滚动以使数据加载到那些可见的单元格中。理想情况下,如果滚动速度较慢,我会将数据加载到单元格中。
  2. 我想预取 1 或 2 个表格单元格数据,这些数据刚好在屏幕外以预期滚动到它们。

有没有一种优雅的方法可以实现这一点? 我感觉我可能缺少针对此问题的通用设计模式。

最佳答案

我认为你可以在滚动开始时开始加载数据,这样你就不必等待滚动结束。您可以使用以下两种方法之一:

-(void)scrollViewWillBeginDragging:(UIScrollView *)scrollView{}

-(void)scrollViewDidScroll:(UIScrollView *)scrollView{}

而且您始终可以获得可见单元格的索引,因此我认为您应该能够加载更多数据而不仅仅是可见单元格。

关于ios - 预加载 UITableView 单元格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12542377/

相关文章:

ios - 点击时如何将播放按钮更改为暂停按钮?

ios - 如何在 UICollectionViewCell 中禁用 UIView

ios - Storyboard中的自定义 UITableViewCell 不会加载

ios - 从 IBAction 获取对 UITableViewCell 的引用?

ios - 将单元格的 subview 快速移动到前面

ios - JSON解析数据没有被调用? swift

ios - 具有两个未知值的 Swift 范围运算符

ios - 可见单元格的 Swift collectionView 方法未更改

ios - 代码 : Unable to embed a UITableview in a UIViewController

ios - 获取所有带有附件类型复选标记的表格 View 单元格