gpt4 book ai didi

ios - 如何在 tableView 之外获取所有自定义 tableview 单元格 textField 和 textView 值

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

我尝试像这样从 tableView 外部访问自定义 tableView 单元格文本字段:

for i in 0..<NameCounter {
let indexPath = IndexPath(row: i, section: 0)
guard let cell = sampleTableView.cellForRow(at: indexPath) as? sampleCellView else{
return
}
if let text = cell.txtName.text, !text.isEmpty {
let value = text
print("Getting NameText : \(value)")
}

if let text = cell.txtNote.text, !text.isEmpty {
let value = text
print("Getting noteText : \(value)")
}}

但问题是上面的方法你只能得到 tableView 的可见单元格,除了 cell 是 nil。并且因为我保护它以避免出现 nil 单元格,所以我没有获得所有文本字段值。

如果我像这样移除守卫:

let cell = sampleTableView.cellForRow(at: indexPath) as! sampleCellView

它会崩溃并得到一些单元格为零。

如何从外部 tableView 访问所有文本字段值并获取所有单元格(单元格不能为零)?

我有多个 tableView,在每个 tableView 单元格中,我放了 txtName 和 txtNote。我想检测哪个 txtName 和 txtNote 正在被编辑,这样我就可以放入正确的模型。

注意:txtName是textfield,txtNote是textView

最佳答案

您不应依赖从单元格标签、文本字段等中获取的值。

一旦单元格离开屏幕 - 它会被扔到池中供以后重用,甚至可能会被释放。

您应该将 View 状态保存在某个数组中,然后您就可以安全地获取任何索引处的任何值。

如果您有 1000 个细胞,那么在任何时候可能只有 10-20 个是可见的,在可重复使用的细胞池中可能只有 40-50 个左右。如果您位于索引路径第 100 行 - 显然索引路径第 150 行之后的单元格将为 nil

关于ios - 如何在 tableView 之外获取所有自定义 tableview 单元格 textField 和 textView 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53722055/

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