В одном из разделов, когда я нажимаю toggleSwitch, он должен расширяться на количество одинаковых ячеек в зависимости от array.count
Метод ниже работает отлично. Когда я нажимаю на переключатель, он расширяет раздел с количеством строк, равным количеству элементов в массиве:
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
switch section {
case 0:
return 7
case 4:
if expand == true {
return array.count + 1
}
else {
return 1
}
default:
return 1
}
}
array
может иметь любое количество элементов, в зависимости от данных в Realm. Так что это может быть 0, но это также может быть 5, 14 и c.
Код в CellForRowAt
также отлично работает, расширяет раздел анимацией:
cell.labelCell.text = "elements (\(array.count))"
cell.cellSwitch.isOn = self.expand
cell.callback = { [unowned self] check in
self.expand = check
UIView.transition(with: tableView,
duration: 0.5,
options: .transitionCrossDissolve,
animations: { self.tableView.reloadData()})
}
ПРИМЕЧАНИЕ: Все новые ячейки в разделе имеют тот же тип, что и их родительская ячейка. Таким образом, каждая из новых ячеек имеет свое собственное имя, переключатель ...
Вопрос: Как я могу сделать так, чтобы новые ячейки имели свои имена, такие как элементы в array
. Например: если первый элемент в массиве "abc"
, я хочу сделать первую ячейку: cell.labelCell.text = "ab c" (array [0])