繁体   English   中英

我无法在动态表视图中快速获取文本字段值

[英]I could not get text field value in dynamic table view swift

所以我根据用户输入创建了这个数量的部分。 例如我输入了 2 个部分,我填充了 1 - 8 个数字,它工作得很好:

在此处输入图片说明

但是当我输入了 4 个部分并填充了 1 - 16 个数字时,但是查看部分 1,值改变了我不知道为什么。 这是图片:

在此处输入图片说明

这是我的功能代码:

func getAllValue() {
    for sectionIndex in 0...finalSectionNumber - 1 {
        print("section index: \(sectionIndex)")
        print("final txt field: \(finalSectionNumber)")
        for rowIndex in 0...tableView.numberOfRows(inSection: sectionIndex) - 1 {
            let indexPath = IndexPath(row: rowIndex, section: sectionIndex)
            let cells = tableView.cellForRow(at: indexPath) as? CellOutlet
            print("row index: \(rowIndex)")
            print(cells?.txtFieldSpecNumb.text ?? 0)
        }
    }
}

我在这里错过了什么? 任何人都可以帮忙吗?

先感谢您

请记住,单元格是重复使用的 一个单元格可以从一行跳到另一行。 但更重要的是:这种方法是完全错误的:

        let cells = tableView.cellForRow(at: indexPath) as? CellOutlet
        print("row index: \(rowIndex)")
        print(cells?.txtFieldSpecNumb.text ?? 0)

从不从不(我有没有提到“从不”?)将视图视为模型 单元格,文本字段,不是数据 如果您想知道数据是什么,请查看数据 请参阅数据模型,而不是表视图。 (当然,您一直在数据模型的文本字段中保留用户键入的所有内容,不是吗?)

单元格被重用,当您滚动时,如果单元格的可见性超出屏幕区域,则它们将被重用。

您必须使用临时数组来保存值并使它们与单元格索引同步。 从您创建的数组在 cellForRowAt 索引路径方法中设置这些值。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM