от
Как я пытался в некоторых сценариях, но не работает, если я выберите вторую ячейку флажок с первой ячейки сняв и иногда функциональность не работает вообще, пока я нажимаю 10 до 20 раз .вот мой код.
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) 

После выбора метода TableView клетки мне нужно сделать отметку ячейками детали, как имена в ячейки, как показано на рисунке ниже

Ваш ответ

Отображаемое имя (по желанию):
Конфиденциальность: Ваш электронный адрес будет использоваться только для отправки уведомлений.
Анти-спам проверка:
Чтобы избежать проверки в будущем, пожалуйста подтвердите адрес электронной почты.

2 Ответы

0 голосов
от
Вы должны объявить массив как:
var checked = [Bool]()
Затем добавьте эту строку кода в API, где вы получите сведения в данных массива
self.checked = Array(repeating: false, count: self.arraydata.count)
В табличном виде метод делегата:
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) 

добавить следующий метод:

func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {

    tableView.deselectRow(at: indexPath, animated: true)
    if let cell = tableView.cellForRow(at: indexPath as IndexPath) {

        if cell.accessoryType == .checkmark {
            cell.accessoryType = .none
            checked[indexPath.row] = false


        } else  {
            cell.accessoryType = .checkmark
            checked[indexPath.row] = true


        }
    }

    on OKClickedButtonAction:

    serviceString = ""
    for i in 0..
0 голосов
от
Вы должны обновить ваш способ
tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath)
как
override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
        let cell = tableView.cellForRow(at: indexPath) as! switchTableViewCell
        if cell.accessoryType == .checkmark {
            cell.accessoryType = .none
        } else {
            cell.accessoryType = .checkmark
        }
}
Но если вы хотите клетку, чтобы держать его accessoryType даже после перезагрузки, то вы должны создать массив для отслеживания вашего accessoryType для каждой ячейки и изменить его значение в массиве при обновлении accessoryType в UI в didSelectRowAt (), а затем в cellForRowAt() вы должны использовать этот массив, чтобы установить accessoryType для каждой ячейки.
...