目前,我在自定义的tableview中显示了一个简单的对象数组,我还使用了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

有人对我可能做错什么有什么建议吗?

最佳答案

如果您使用的是Swift 3+委托方法的签名是错误的

func tableView(_ tableView: UITableView, canMoveRowAt indexPath: IndexPath) -> Bool


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

关于ios - 无法将moveRowAtIndexPath用于tableView,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52992775/

10-09 00:16