ios - 预加载 tableView 单元格并防止重新加载

标签 ios swift uitableview preload

我已经在此页面上找到了与该主题相关的条目,并且还找到了一个提供该问题教程的网站。但没有什么效果很好。

教程很遗憾我应该将我的 tableView 的高度加倍,以便单元格加载得更早,但是如果 tableView 更高,我永远不会到达最后一个单元格。

我的问题是,我使用 tableView 来显示我的应用主页。这个 mainPage 每次都会显示一个主题,如果该主题有必要,它会显示例如一个带有 map 的单元格,一个带有图片,有时不显示。现在的问题是,如果我试图滚动到我的 View ,它总是滞后,因为它加载了 map 或这张图片。并再次向后滚动,因为加载的单元格已被删除。我使用 tableView 是因为可以打开和关闭单元格类型(mapCell、pictureCell、textCell)。

我理解这个功能,因为内存问题,但在我的情况下它不是那么多,如果我的所有单元格都预加载并保留在内存中直到我改变主题会更好。

有什么快捷的方法可以告诉我的 tableView 有这种行为吗?

非常感谢和美好的问候

最佳答案

我建议采用不同的方法。设置您的 TableView Controller 以在您的单元格中安装占位符图像,触发您缓存到磁盘的异步下载,然后使用下载的内容更新单元格(如果下载完成后它仍然可见)。

有各种第三方框架可以为您完成所有这些工作。

关于ios - 预加载 tableView 单元格并防止重新加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39425995/

相关文章:

ios - Swift 3 DispatchGroup单次成功DispatchWorkItem

ios - tabBarController 上的 barButtonItem

Swift UITableView 工作日 - 开放和关闭时间

ios - UITableViewController 子类实现了 UIDataSourceModelAssociation 协议(protocol),但它的方法从未被调用

ios - 原因 iOS 8.0.2 中的 'uitable data source is not set' 错误

ios - [ComponentTaleView tableView :heightForFooterInSection:]: unrecognized selector sent to instance

ios - IOS 中的图像旋转

ios - 使用 queryOrdered(byChild : "name") queryEqual 选择 Firebase 数据

ios - 创建拉伸(stretch)的半圆

ios - 如何在 swift 中将 JSON `null` 值传递给 `nil` 值?