每次我在 textField 中输入新值时如何更新 tableView 单元格的标签?

Posted

技术标签:

【中文标题】每次我在 textField 中输入新值时如何更新 tableView 单元格的标签?【英文标题】:How to update tableView cell's labels when every time i enter new value in textField? 【发布时间】:2018-02-08 14:15:33 【问题描述】:

每次在 textField 中输入新值时如何更新 tableView 单元格的标签?


@objc func doneClicked() 
        view.endEditing(true)

        //MARK: - ФОРМАТТЕР
        let formatter = NumberFormatter()
        formatter.locale = Locale.current
        formatter.numberStyle = .decimal
        formatter.minimumFractionDigits = 3
        formatter.maximumFractionDigits = 6

         if let text = textField.text, let number = formatter.number(from: text) 

            atmosfera = number.doubleValue

            print(atmosfera)


        
    

这个功能是键盘工具栏的按钮。当我按“完成”时,我的键盘关闭并更新值。


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


            let cell1 = tableView.dequeueReusableCell(withIdentifier: "resultCell") as! resultTableViewCell


            cell1.nameResult.text = converters[indexPath.row]
            cell1.labelResult.text = String(convertatmo[indexPath.row] * atmosfera)


            return cell1


    

这是我的细胞。


每次按下键盘上的完成按钮时,我都会将新值保存到 atmosfera var。 我想更新我的labelResult.labels。我该怎么做?

【问题讨论】:

【参考方案1】:

在您想要刷新整个表格时,随时调用tableViewreloadData 实例方法

 if let text = textField.text, let number = formatter.number(from: text) 

        atmosfera = number.doubleValue

        print(atmosfera)

        self.tableView.reloadData()

    

 func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int 

【讨论】:

【参考方案2】:

在更新 atmosfera 变量后添加 tableView.reloadData(),这将使用新数据重新加载 tableView。

【讨论】:

以上是关于每次我在 textField 中输入新值时如何更新 tableView 单元格的标签?的主要内容,如果未能解决你的问题,请参考以下文章

网络抓取新值后,Mongodb 集合未正确更新

UITableViewCell detailTextLabel 在分配新值时不会更新其文本

UITableViewCell detailTextLabel在为其分配新值时不会更新其文本

在 React Native Input/TextInput 中输入值时如何更新 JSON 对象值

Room - 插入新值后执行删除

存在新值时添加新的 Google 工作表行