Я занимаюсь практикой табличного представления. И я хочу реализовать функцию, которая перемещает одну ячейку из одного раздела в другой раздел с помощью метода moveRowAt. Когда я перемещаю / размещаю ячейку в том же разделе, она работает нормально. Однако, когда я перемещаю ячейку из одного раздела в другой, он выдаст мне такую ошибку:
Это функция moveRowAt:
override func tableView(_ tableView: UITableView, moveRowAt fromIndexPath: IndexPath, to: IndexPath)
{
// Move data
let todo = todos[fromIndexPath.section][fromIndexPath.row]
todos[fromIndexPath.section].remove(at: fromIndexPath.row)
// move from one section to another section
if to.section != fromIndexPath.section
{
todos[to.section].insert(todo, at: to.row)
// Update View
tableView.beginUpdates()
tableView.moveRow(at: fromIndexPath, to: to)
tableView.endUpdates()
}
else
{
todos[fromIndexPath.section].insert(todo, at: to.row)
// Update View
tableView.beginUpdates()
tableView.moveRow(at: fromIndexPath, to: to)
tableView.endUpdates()
}
}
Объявление todos:
struct ToDo {
var name = ""
var checked = false
var details: String = ""
}
var todos: [[ToDo]]
Спасибо за помощь и за то, что поделились вашей идеей!