如何从动态创建的表格视图单元格的输入字段中将数据检索到数组

Posted

技术标签:

【中文标题】如何从动态创建的表格视图单元格的输入字段中将数据检索到数组【英文标题】:How to retrieve data to an array from input fields of dynamically created table view cells 【发布时间】:2017-03-01 08:08:03 【问题描述】:

我有一个表格视图、文本字段和一个更新按钮。表格视图单元格计数由用户在文本字段中的输入确定。表格视图单元格仅包含一个文本字段,用户可以在其中输入一些数据。 我想要的是,当单击该更新按钮时,我想将用户输入的数据从表格视图单元格存储到一个数组中。这该怎么做?最好的方法是什么?

这是更新按钮中的代码;

@IBAction func onUpdateButtonClick(sender: AnyObject) 

            let tableViewLength = Int(productNumberTxtField.text!)! // TextField data which decides the table view cell count

            for index in 0...(tableViewLength-1)

            
                let indexPath = NSIndexPath(forRow: index, inSection: 0)

                let cell = self.productsTableView.cellForRowAtIndexPath(indexPath) as? ProductCell

                if(cell!.productTextField.text != "")  // productTextField is the text field in cell 

                    UserDataController.sharedInstance.saveToProductsCoreData(userName, productName: (cell!.productTextField.text)!)

                  

            

        

【问题讨论】:

显示你累了的代码 在这里分享你的代码,如果不是保密的 @Vishnu Cyruz 你有没有试过一些代码,否则给一些链接来将数据存储在数组中 cellForRowAtIndexPath 仅适用于可见单元格,否则返回 nil,因此请尝试在用户输入数据时创建数组并保存数据 检查这个 -> ***.com/questions/31736884/… 【参考方案1】:

声明数组

var setArray : [String] = []

首先,在制作文本字段时,您必须提供标签和委托。

textfield.tag = indexPath.row
textfield.delegete = self

比在文本字段委托方法中

func textFieldDidEndEditing(_ textField: UITextField) 
    if(textField.text != "")
    setArray[textField.tag] = textField.text! as String
    print(setArray)
    

【讨论】:

以上是关于如何从动态创建的表格视图单元格的输入字段中将数据检索到数组的主要内容,如果未能解决你的问题,请参考以下文章

从 Swift (3.1) 表格视图中动态创建的单元格获取有序的文本字段数据

如何从一个带有动态单元格的表格切换到 3 个或更多不同的视图

表格视图中单元格的动态高度不起作用

如何动态更改表格视图单元格的颜色

如何使表格视图单元格的大小动态变化?

如何使新插入的表格视图单元格的文本字段处于活动状态?