当前,我在自定义表格视图中显示了一个简单的对象数组,我还使用了SwipyCell测试滑动手势。
然后,我尝试使用moveRowAtIndexPath
对对象进行重新排序,但是由于某些原因,它不适用于以下代码。
func tableView(tableView: UITableView, moveRowAtIndexPath sourceIndexPath: NSIndexPath, toIndexPath destinationIndexPath: NSIndexPath) {
let itemThatMoved = self.tasks[sourceIndexPath.row]
self.array.remove(at: sourceIndexPath.row)
self.array.insert(itemThatMoved, at: destinationIndexPath.row)
// Change data properties
}
func tableView(tableView: UITableView, canMoveRowAtIndexPath indexPath: NSIndexPath) -> Bool {
// Return NO if you do not want the item to be re-orderable.
return true
}
我还在ViewController中设置了以下内容
table.isUserInteractionEnabled = true
table.allowsSelectionDuringEditing = true
table.allowsSelection = true
有人对我可能做错了什么建议吗?
答案 0 :(得分:2)
如果您使用的是Swift 3+,则委托方法的签名错误
func tableView(_ tableView: UITableView, canMoveRowAt indexPath: IndexPath) -> Bool
和
func tableView(_ tableView: UITableView, moveRowAt sourceIndexPath: IndexPath, to destinationIndexPath: IndexPath)