gpt4 book ai didi

ios - 在 Swift 中保留 UITableView 中的单元格?

转载 作者:搜寻专家 更新时间:2023-11-01 06:12:07 24 4
gpt4 key购买 nike

UITableView 默认重用单元格。但在我的例子中,一些单元格有一个 UITextField 对象,我不想在重复使用单元格时丢失它的值。该表的行数很少,因此我可以处理内存中的所有单元格。

我目前使用的代码示例:

override func viewDidLoad() {
super.viewDidLoad()
tableView.register(UINib(nibName: "TPAddressInfoTableViewCell", bundle: nil), forCellReuseIdentifier: InfoCellIdentifier)
...

override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let item = items[indexPath.row]
switch item.appearance {
case .textWithTitle:
let cell = tableView.dequeueReusableCell(withIdentifier: InfoCellIdentifier) as! TPAddressInfoTableViewCell
return cell
case .picker:
...

如何正确保留这样的细胞?在这种情况下,将每个单元格的 UITextFieldDelegate 链接到当前的 UIViewController 似乎是额外的。

最佳答案

不保留单元格

将单元格的 UI 元素的所有值保存在数据模型中,并在 cellForRow 中恢复这些值。

例如将相应的模型项传递给cellForRow中的单元格,并在更改时将文本字段字符串保存在属性中。
或者使用回调闭包来更新 Controller 中的属性。

关于ios - 在 Swift 中保留 UITableView 中的单元格?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53929638/

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