gpt4 book ai didi

ios - 如何不重用 UITableViewCell 并将单元格从 View 中消失后保留在内存中?

转载 作者:行者123 更新时间:2023-11-28 10:23:11 24 4
gpt4 key购买 nike

我有一个“不太大”的动态 tableView,其中的行数可以在 10 到 20 之间变化。

我使用 Storyboard 并创建了 4 个不同的单元原型(prototype),它们都有自己的标识符。大多数这些单元格中都有 UITextFields,用户将输入电子邮件地址等信息...

我在 tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) 中使用 dequeueReusableCellWithIdentifier: 来创建我的单元格。


但是,每当我滚动 tableView 时,我都可以看到出现的单元格从上层单元格获取数据,因为消失的单元格被排入队列以供重用。

考虑到我的单元格数量有限,我想摆脱重用功能,只让我的一组单元格在其中包含自己的数据。当我向下滚动时,我看到与下方单元格对应的单元格,当我返回时,我再次看到我的上方单元格。

我该怎么做?以及如何在不使用 dequeueReusableCellWithIdentifier: 的情况下创建与 Storyboard 中的原型(prototype)相对应的单元格?


我已经在 StackOverflow 中搜索过类似的问题,并尝试保留我的单元格数组,如果它已经存在于 tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) 但到目前为止没有任何效果

最佳答案

你有点想多了。如果您考虑一下 dequeueReusableCellWithIdentifier: 的作用,它只是获取它找到的具有该特定标识符的单元格。如果您希望每一行都有它自己的唯一单元格,不被任何其他行使用,只需给每一行它自己的标识符。最简单的方法是仅对 indexPath 行进行字符串化,或者如果您有多个部分,则对行+部分进行字符串化。

应该这样做:

let cellIdentifier = String(indexPath.section) + "-" + String(indexPath.row)

关于ios - 如何不重用 UITableViewCell 并将单元格从 View 中消失后保留在内存中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31360780/

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