Вы перезагружаете tableView
после обновления значений в ячейке,
tableViewBookMark.reloadData()
Это вызовет функцию источника данных, включая cellForRowAt
, поэтому вы потеряете обновленные значения, решение дляэто означает наличие глобальной переменной в UIViewController
, проверку ее значений внутри cellForRowAt
и обновление ее в collectionView
DidSelect
.
Дополнительный совет : вам не нужно перезагружать все tableView
для одного изменения, вы можете использовать
tableView.reloadRows(at: [indexPath], with: .top)
, чтобы перезагрузить только количество выбранных ячеекв tableView