我有自定义UITableViewCell
,其中包含文字字段。问题是我在第一个文本字段中输入一些文本后(例如)在滚动tableView后,此文本在另一个单元格中重复。我知道,这发生因为tableView出列单元格。
处理这个问题的正确方法是什么?
我的代码:
@IBOutlet weak var tableView: UITableView!
var dataArray: [String] = []
override func viewDidLoad() {
super.viewDidLoad()
tableView.dataSource = self
for i in 0...50 {
dataArray.append("Elemnt # \(i)")
}
}
}
extension ViewController: UITableViewDataSource {
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return dataArray.count
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "cell")
return cell
}
答案 0 :(得分:1)
在您使用-tableView:cellForRowAtIndexPath:
方法取消单元格后,您可以访问其关联的文本字段并清除它。
或者,如果您有子类UITableViewCell
,则可以在子类中覆盖prepareForReuse()
方法并执行相同的操作。