Сохранить didSelectRowAt в табличном представлении - PullRequest
0 голосов
/ 25 апреля 2019

Я хочу записать, что я выбрал в последний раз.Я хочу сохранить выбранную мной версию с пользовательскими ошибками.Когда я пытаюсь назначить данные для indexpath, я получаю сообщение об ошибке «Невозможно присвоить значение: indexPath» является «let» константой. Как мне запомнить indexpath?

 var savedata: IndexPath?

    override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
       super.tableView(tableView, didSelectRowAt: indexPath)
   // tableView.deselectRow(at: indexPath, animated: true)
    print("deselectRow", indexPath)
    let save11 = UserDefaults.standard.integer(forKey: "deselectRow")
    savedata = IndexPath(row: save11, section: 0)


    tableView.selectRow(at: savedata, animated: true, scrollPosition: .middle)


    if indexPath == [3,0] {
    UserDefaults.standard.set(60, forKey: "seconds")
        UserDefaults.standard.set(0, forKey: "deselectRow")

        }
     if indexPath == [3,1] {
        UserDefaults.standard.set(900, forKey: "seconds")
        UserDefaults.standard.set(1, forKey: "deselectRow")

    }

Ответы [ 2 ]

1 голос
/ 25 апреля 2019

Бесполезно изменять параметр indexPath, потому что он не имеет никакого эффекта.

Чтобы выбрать другую строку, вы должны вызвать selectRow(at:animated:scrollPosition:).

Вызов супер в didSelectRowAtне является обязательным

var savedata: IndexPath?

override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
    let save11 = UserDefaults.standard.integer(forKey: "deselectRow")
    savedata = IndexPath(row: save11, section: 0)

    tableView.selectRow(at: savedata, animated: true, scrollPosition: .middle)

    if indexPath.row == 3 {
        UserDefaults.standard.set(60, forKey: "deselectRow")
    }
0 голосов
/ 25 апреля 2019

В быстром let является константой.Использование var сделает его переменной и позволит вам изменить его

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...