使用moveRowAtIndexPath在UITableView上移动单元格

时间:2016-01-10 06:10:23

标签: swift uitableview

我有一个UITableView,其中每个单元都有一个开关。当开关打开时,我希望单元格移动到tableView的底部。

let indexPath = NSIndexPath(forRow: sender.tag, inSection: 0)
let finalIndexPath = NSIndexPath(forRow: tasks.count - 1, inSection: 0)

let task = tasks[indexPath.row]
tasks.removeAtIndex(indexPath.row)
tasks.append(task)
self.taskTableView.moveRowAtIndexPath(indexPath, toIndexPath: finalIndexPath)

当使用上面的代码时,第一个开关选择完全按照我的要求进行,但在按下单元格上的开关之后会导致下面的单元格移动到底部。任何提示,想法或帮助都非常感谢。

1 个答案:

答案 0 :(得分:0)

它与您设置.tag属性的方式有关。如果您使用它来获取索引,则每次进行更改并移动时都需要更新这些索引。