【发布时间】:2019-05-12 07:41:28
【问题描述】:
我尝试像这样从 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 的可见单元格,除非单元格是 nil。而且因为我保护它以避免零单元格,所以我没有得到所有文本字段的值。
如果我像这样移除警卫:
let cell = sampleTableView.cellForRow(at: indexPath) as! sampleCellView
它会崩溃并得到一些单元格为 nil。
如何从 tableView 外部访问所有文本字段值并获取所有单元格(单元格可能不为零)?
我有多个 tableView,在每个 tableView 单元格中,我放置了 txtName 和 txtNote。我想检测哪个 txtName 和 txtNote 正在被编辑,所以我可以放入正确的模型。
注意:txtName 是 textfield,txtNote 是 textView
【问题讨论】:
-
当然它会崩溃,因为如果你在屏幕上有前 10 个单元格,但有 50 个单元格 - [11...50] 范围内的单元格很可能为零。
标签: ios swift uitableview