Вот мой код, куда я перетаскиваю строки в один и тот же раздел UITableview.Я создал массив hiddenOrderList.
var displayedOrderList = [CarouselOrder]()
var hiddenOrderList = [CarouselOrder]()
Я хочу перетащить строки из первого раздела в другой.
func tableView(_: UITableView, numberOfRowsInSection section: Int) -> Int {
switch section {
case 0:
return displayedOrderList.count
case 1:
return hiddenOrderList.count
default:
return 1
}
}
Ниже я создал пользовательскую ячейку для моего первого раздела:
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: SRCarouselOrderTableViewCell.cellIdentifier, for: indexPath) as! SRCarouselOrderTableViewCell
cell.configureCell(name: displayedOrderList[indexPath.row].name!, image: (categoryEnum(rawValue: displayedOrderList[indexPath.row].category!)?.getIconCategory())!)
return cell
}
Я могу перетаскивать строки в один и тот же раздел, но хочу перетаскивать их в другой раздел.При перетаскивании в другой раздел происходит сбой приложения с сообщением «Неустранимая ошибка: индекс выходит за пределы диапазона».
func tableView(_: UITableView, moveRowAt sourceIndexPath: IndexPath, to destinationIndexPath: IndexPath) {
let movedObject = displayedOrderList[sourceIndexPath.row]
displayedOrderList.remove(at: sourceIndexPath.row)
hiddenOrderList.insert(movedObject, at: destinationIndexPath.row)
}