簡體   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