每次我在 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.label
s。我该怎么做?
【问题讨论】:
【参考方案1】:在您想要刷新整个表格时,随时调用tableView
的reloadData
实例方法
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 单元格的标签?的主要内容,如果未能解决你的问题,请参考以下文章
UITableViewCell detailTextLabel 在分配新值时不会更新其文本
UITableViewCell detailTextLabel在为其分配新值时不会更新其文本