UITableView
по умолчанию повторно использовать ячейки.Но в моем случае некоторые ячейки имеют объект UITextField
, и я не хочу терять его значение при повторном использовании ячейки.В таблице несколько строк, поэтому я могу обрабатывать все ячейки в памяти.
Пример кода, который я сейчас использую:
override func viewDidLoad() {
super.viewDidLoad()
tableView.register(UINib(nibName: "TPAddressInfoTableViewCell", bundle: nil), forCellReuseIdentifier: InfoCellIdentifier)
...
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let item = items[indexPath.row]
switch item.appearance {
case .textWithTitle:
let cell = tableView.dequeueReusableCell(withIdentifier: InfoCellIdentifier) as! TPAddressInfoTableViewCell
return cell
case .picker:
...
Как правильно сохранить такие ячейки?Связывание UITextFieldDelegate
каждой ячейки с текущим UIViewController
в данном случае кажется лишним.