在表视图中移动行

时间:2018-04-18 16:45:20

标签: ios swift uitableview

我想知道这些之间的区别。 tableView方法& UITableViewController方法。

tableView.moveRow(at:, to:)      
tableView(_ tableView: UITableView, moveRowAt sourceIndexPath: IndexPath, to destinationIndexPath: IndexPath)

想知道差异以及何时使用它们,因为我使用了tableView.moveRow(at: SourceIndexPath, to: DestinationIndexPath)内的tableView(tableView:, moveRowAt:, to:)。但是App崩溃了。

非常感谢帮助。

崩溃错误:

  

由于未捕获的异常终止应用程序' NSInternalInconsistencyException',原因:'无效更新:第0部分中的行数无效。更新后现有部分中包含的行数(2)必须等于更新前的该部分中包含的行数(3),加上或减去从该部分插入或删除的行数(0插入,0删除)和加或减移入的行数或超出该部分(1移入,0移出)。

1 个答案:

答案 0 :(得分:0)

tableView(_ tableView: UITableView, moveRowAt sourceIndexPath: IndexPath, to destinationIndexPath: IndexPath)

这是表视图的委托方法。它要求视图控制器任务执行。

同时 tableView.moveRow(at:, to:)是以编程方式移动行的方法。您在委托方法中调用tableView.moveRow(at:, to:),导致在完成一次更改之前进行下一次更改。