我使用的方法是用户可以选择删除其他对象。当我单击“删除”时,出现以下错误:

原因:“ UITableView内部错误:无法生成具有旧节数:1和新节数:0的新节图”

这是我的代码:

func tableView(tableView: UITableView, editActionsForRowAtIndexPath indexPath: NSIndexPath) -> [UITableViewRowAction]? {

        let position = UITableViewRowAction(style: UITableViewRowActionStyle.Normal, title: "Posição", handler: { (action: UITableViewRowAction, indexPath: NSIndexPath) -> Void in
            tableView.editing = false
        })

        let remove = UITableViewRowAction(style: UITableViewRowActionStyle.Destructive, title: "Remover", handler: { (action: UITableViewRowAction, indexPath: NSIndexPath) -> Void in
            self.tableData.removeObjectAtIndex(indexPath.row)
            tableView.deleteRowsAtIndexPaths([indexPath], withRowAnimation: .Automatic)
        })

        return [remove, position]
    }


我真的需要使用方法editActionsForRowAtIndexPath

最佳答案

您需要首先从表数据源中删除对象。

尝试这个

tableView.beginUpdates()
self.tableData.removeObjectAtIndex(indexPath.row)
tableView.deleteRowsAtIndexPaths([indexPath], withRowAnimation: .Automatic)
tableView.endUpdates()

10-08 16:26