首页 > 解决方案 > 如何在表格视图单元格中快速处理多个文本字段

问题描述

我想将一些值从表格视图单元格中的多个文本字段中保存到一个数组中。我意识到我当前的实现只有在以非常特定的方式输入数据时才有效。这是我尝试过的:

func textFieldDidEndEditing(_ textField: UITextField) {
        if(textField.tag == 1){
            self.weight = textField.text!

        } else if(textField.tag == 2){
            self.reps = textField.text!
        }
        if(self.reps != "" && self.weight != ""){
            let set = ExerciseSet(weight: self.weight, reps: self.reps, RPE: "")
            self.setsArray[setsArray.count - 1] = set
            self.weight = ""
            self.reps = ""

        }

    }

但是这个实现只有在输入数据时才有效,然后添加下一个单元格,然后输入。如何通过访问每个 tableview 单元格中的每个文本字段将所有数据保存到数组中?

输入的数据可能是什么样子

标签: iosswiftuitableviewuitextfield

解决方案


您可以创建一个函数来循环表、获取数据并附加练习集,

func getTableData(){
        for i in 0..<tbl.numberOfRows(inSection: 0) { //tbl--> your table name
            let cell = tbl.cellForRow(at: IndexPath(row: i, section: 0)) as! TableViewCell. //TableViewCell--> your tableview custom cell name
            let set = ExerciseSet(weight: cell.txtWeight.text ?? "", reps: cell.txtReps.text ?? "", RPE: "") //txtWeight,txtReps your 2 text field names
            self.setsArray[setsArray.count - 1] = set
        }
    }

推荐阅读