По сути, я хотел бы иметь возможность выбрать все и отменить выбор всех ячеек в табличном представлении.
В настоящее время я использую:
for section in 0..<tableView.numberOfSections {
for row in 0..<tableView.numberOfRows(inSection: section) {
let indexPath = IndexPath(row: row, section: section)
_ = tableView.delegate?.tableView?(tableView, willSelectRowAt: indexPath)
tableView.selectRow(at: indexPath, animated: false, scrollPosition: .none)
tableView.delegate?.tableView?(tableView, didSelectRowAt: indexPath)
}
}
Пока эта функциядействительно работает, он действует как выбор и отмена выбора всего, а это не то, что нужно. Вместо этого мне нужно, чтобы он всегда выбирал все записи, и если некоторые записи уже выбраны, их следует игнорировать при выполнении этой функции. Следует выбирать только те записи, которые еще не выбраны. Как можно изменить указанную выше функцию, чтобы выбрать только те строки, которые не отменены для уже выбранных.
ОБНОВЛЕНИЕ:
В didSelectRow я делаю следующее:
override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
structure[indexPath.row].isSelected.toggle()
let portfolio = structure[indexPath.row]
updateSelection(of: portfolio, at: indexPath)
}
Функция updateSelection - это просто функция, которая обновляет API с помощью Alamofire,