如何快速从 UITableViewCell 动态中获取文本字段的值?

Posted

技术标签:

【中文标题】如何快速从 UITableViewCell 动态中获取文本字段的值?【英文标题】:How To get values of textfields from a UITableViewCell dynamic in swift? 【发布时间】:2020-02-17 09:26:17 【问题描述】:

如何提交所有cell values动态

这里是代码。我只是点击了 api,然后我附加了这些值,然后我显示了所有 data现在的问题是如何获取所有值的文本字段。

func submitApi()

    SVProgressHUD.show(withStatus: "Loading please wait........")
    let url = constatUrl + "url"
    print("catagory",url)


    Alamofire.request(url, method: .get, parameters:nil, encoding: URLEncoding.default, headers: nil).responseJSON  (response:DataResponse<Any>) in
        switch(response.result) 
        case .success(_):
            SVProgressHUD.dismiss()
            if let data = response.result.value

                let json = response.result.value as? [String: Any]
                print("theloginAuthValue is ",json!)
                let responseStatus = json!["responseStatus"] as! Bool
                let responseText  = json!["responseText"] as! String


                if (responseStatus == true)

                    self.user_GLosary.removeAll()

                    self.productLabel.isHidden = false
                    self.quantyLabel.isHidden = false
                     self.quntySubmitButton.isHidden = false 

                    let responseData = json!["responseData"] as! [Any]
                    var index = 0
                    while index < responseData.count

                        let responseArray = responseData[index] as! [String: Any]
                        let chainId = responseArray["id"] as? String
                        let chainValue = responseArray["value"] as? String

                        let folderAppend = FolderGlosaryDetails()
                       folderAppend.glosaryId = chainId
                       folderAppend.glosaryName = chainValue
                       self.user_GLosary.append(folderAppend)

                        index += 1
                    

                    DispatchQueue.main.async 
                        self.openingStockTableView.reloadData()
                     
                    
                else if (responseStatus == false)

                    self.displayAlertMessage(messageToDisplay: responseText)
                 
            
            break

        case .failure(_):
            SVProgressHUD.dismiss()
            print("faliure",response.result.error!)
            self.displayAlertMessage(messageToDisplay: "Something Wrong Please try again")
            break

        
    


func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int 
    return user_GLosary.count


func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell 

    let cell = tableView.dequeueReusableCell(withIdentifier:"OpeningStockCell",for: indexPath) as! OpeningStockCell

    cell.stockLabel.text = user_GLosary[indexPath.row].glosaryName
    return cell

【问题讨论】:

问题不清楚。你所期待的。 我希望所有文本字段值都存储在空数组中 cell.yourTextField.tag = indexPath.raw cell.yourTextField.delegate = self 就是这样! 【参考方案1】:

你的问题不是很清楚,但我认为你想将你的文本字段值存储到 tableviewCell 中的某个数组中,所以下面的代码可能会对你有所帮助。

首先,定义存储值的数组。我,我在这里取字符串数组,你可以根据需要取。

var arrayValue:Array<String>!

然后将单元格中的文本字段值存储到数组中。

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell 

    let cell = tableView.dequeueReusableCell(withIdentifier:"OpeningStockCell",for: indexPath) as! OpeningStockCell

    cell.stockLabel.text = user_GLosary[indexPath.row].glosaryName

    // here you can see how you can get value from textfield
    arrayValue.append(cell.yourTextField.text!)
    return cell



【讨论】:

无法正常工作。我想将所有单元格值存储在一个数组中

以上是关于如何快速从 UITableViewCell 动态中获取文本字段的值?的主要内容,如果未能解决你的问题,请参考以下文章

如何在自动布局中使用 UITableViewCell 的动态高度并在底部视图隐藏时将其他视图向上移动?

使用多个笔尖在 UITableViewCell 中动态获取行高

快速将文本字段添加到 UITableViewCell

如何在swift中设置自定义UITableviewcell的动态高度

从 UITableViewCell 快速获取 TableView 部分标题

如何快速编写[UITableViewCell 类]?