我使用的方法是用户可以选择删除其他对象。当我单击“删除”时,出现以下错误:
原因:“ 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()