我是 swift 新手,我想到的这个应用程序基本上需要根据从其中一个单元格接收到的数据来更新所有单元格。
我正在使用动态单元格,每个单元格内部都有一个文本字段。
TableViewController.swift:
import UIKit
class MyCells: UITableViewCell{
@IBOutlet weak var value_textfield: UITextField!
}
class TableViewController: UITableViewController {
var units_length: [String] = ["Centimeter", "Meter", "Foot"]
override func viewDidLoad() {
super.viewDidLoad()
units_length = units_length.sorted()
self.tableView.keyboardDismissMode = .onDrag
}
override func numberOfSections(in tableView: UITableView) -> Int {
return 1
}
override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return units_length.count
}
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath)
cell.textLabel?.text = units_length[indexPath.row]
cell.textLabel?.textColor = UIColor.white
cell.textLabel?.font = UIFont(name:"DINAlternate-Bold", size:30)
return cell
}
override func viewWillAppear(_ animated: Bool){
tableView.rowHeight = 100
}
}
我应该使用哪个函数来访问具有不同标识符的所有单元格并同时更新每个单元格内的所有文本字段?
我确实可以通过另一个名为 MyCells 的类来访问文本字段,我应该如何实现它? (我不会在这里包含基本的 ViewController 类,因为里面什么都没有)
谢谢!
最佳答案
通常您使用已经展示过的函数:cellForRowAt
。您更新模型数据,告诉表格reloadData
,为所有可见单元格调用cellForRowAt
,并且它们的值成为新值。
但是,如果您在每个角色之后进行更新,我会设置一个通知广播情况,并一起更新所有可见的文本字段和模型,而无需重新加载。只需确保模型和表格保持同步,以防用户滚动并调用 cellForRow
。
关于swift - 如何在 swift 5 中更新具有不同标识符的不同单元格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59655908/