gpt4 book ai didi

ios - 为 UItableview swift 中的每一行添加新的(不可重复使用的)单元格

转载 作者:行者123 更新时间:2023-11-30 13:12:29 25 4
gpt4 key购买 nike

我在 UITableView 的大部分单元格中都有 UIWebView,用于显示视频。
在大多数情况下,细胞数量会减少,但可能是无穷无尽的。滚动 UITableView 时; webView 每次都会重新加载数据。

任何人都可以解决如何为每一行创建新单元格,而不是使用 dequeueReusableCellWithIdentifier 来防止在 UIWebView 中重新加载。

<小时/>

我仍然不喜欢每次都创建新单元格。
但是如何防止每次都重新加载webView?

最佳答案

您可以创建以 NSIndexPath 作为键、以 UITableViewCell 作为值的字典

// MARK: - Properties

private var cells: [NSIndexPath: VideoCell] = [:]
private var videos: [Video] = []

// MARK: - UITableViewDataSource

func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
if let cachedCell = self.cells[indexPath] {
return cachedCell
}
else {
let videoCell = tableView.dequeueReusableCellWithIdentifier(VideoCell.ReuseIdentifier, forIndexPath: indexPath) as! VideoCell
videoCell.bindWith(self.videos[indexPath])
self.cells[indexPath] = videoCell
return videoCell
}
}

// MARK: - UITableViewDelegate

func tableView(tableView: UITableView, willDisplayCell cell: UITableViewCell, forRowAtIndexPath indexPath: NSIndexPath) {
guard let videoCell = cell as? VideoCell else {
return
}
videoCell.refresh()
}

如果您有大量细胞,您可能会遇到内存问题。

关于ios - 为 UItableview swift 中的每一行添加新的(不可重复使用的)单元格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38582608/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com