目前,我在自定义的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/