Удалить строки UITableView в View Controller с несколькими табличными представлениями (Swift) - PullRequest
0 голосов
/ 03 июня 2018

Я пытаюсь реализовать строку удаления в одном из табличных представлений в моем viewcontroller, который содержит несколько UITableView.Мои массивы сохраняются с NSUserDefaults.Вот мой код, но я получаю ошибку Index out of range, здесь также есть ссылка на мой проект, если кто-то захочет его протестировать: https://files.fm/f/wv9uerhn

 func tableView(_ tableView: UITableView, commit editingStyle: UITableViewCellEditingStyle, forRowAt indexPath: IndexPath) {

    if editingStyle == .delete {

    if tableView == ScheduleTableView{

       // Here is my code but it gives me an error, first you need to add a row with the add button

        let defaults = UserDefaults.standard
        var myarray = defaults.stringArray(forKey: "ScheduleArray") ?? [String]()

        print(myarray)
        myarray.remove(at: indexPath.row)
        ScheduleTableView.deleteRows(at: [indexPath], with: .fade)


    }

    if tableView == GoalsTableView{



    }
  }
}

1 Ответ

0 голосов
/ 03 июня 2018

Вы фактически не сохраняли массив с удаленной записью в UserDefaults.Обновите ваш код до

func tableView(_ tableView: UITableView, commit editingStyle: UITableViewCellEditingStyle, forRowAt indexPath: IndexPath) {
{
        if editingStyle == .delete {

        if tableView == ScheduleTableView{

           // Here is my code but it gives me an error, first you need to add a row with the add button

            let defaults = UserDefaults.standard
            var myarray = defaults.stringArray(forKey: "ScheduleArray") ?? [String]()

            print(myarray)
            myarray.remove(at: indexPath.row)
            defaults.set(myarray, forKey: "ScheduleArray")
            ScheduleTableView.deleteRows(at: [indexPath], with: .fade)


        }

        if tableView == GoalsTableView{



        }
    }
  }
}

Надеюсь, это поможет.Счастливого кодирования.

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