滚动tableView时复制数据

时间:2017-05-07 18:52:54

标签: ios swift uitableview

我有自定义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

    }

1 个答案:

答案 0 :(得分:1)

在您使用-tableView:cellForRowAtIndexPath:方法取消单元格后,您可以访问其关联的文本字段并清除它。

或者,如果您有子类UITableViewCell,则可以在子类中覆盖prepareForReuse()方法并执行相同的操作。