1
你好我使用SwipeCellKit我UITableView
。我想在刷單元格時進行刪除操作。這是我如何處理刪除部分。 self.deleteLeave()
正在調用Web服務並刪除服務器端中所選的離開條目。那麼,如果它在服務器端成功刪除我想刪除從當前數組對象和更新我UITableView
。但我的問題是,當我輕掃,然後點擊刪除按鈕,否則拖着它在一定程度上的應用程序被賦予一個異常崩潰。SwipeCellKit崩潰時嘗試刪除
錯誤
終止應用程序由於未捕獲的異常 「NSInternalInconsistencyException」,原因:「無效更新:在部分0中包含的後 現有段中的行數無效 的行數更新(1)必須更新(1)之前等於包含在該部分 行數,加或減 插入或從該部分刪除的行的數量(插入0, 1刪除)和加上或減去移入的行數或流出的 那部分(0中移動,0移出)。」
func tableView(_ tableView: UITableView, editActionsForRowAt indexPath: IndexPath, for orientation: SwipeActionsOrientation) -> [SwipeAction]? {
guard orientation == .right else { return nil }
let deleteAction = SwipeAction(style: .destructive, title: "Delete") { action, indexPath in
// handle action by updating model with deletion
self.com.showProgress()
let dict=self.arrayPendings[indexPath.row] as! [String:Any]
if let reid=dict["RequestId"] as? Int
{
self.selectedReqID=String(reid)
}
self.deleteLeave(){ (status) in
if(status)
{
let delete = SwipeAction(style: .destructive, title: nil) { action, indexPath in
self.com.removeProgress()
self.arrayPendings.remove(at: indexPath.row)
self.tblPendingLeaves.beginUpdates()
//self.tblPendingLeaves.insertRows(at: [IndexPath(row: 0, section: 1)], with: .automatic)
self.tblPendingLeaves.deleteRows(at: [indexPath], with: .fade)
action.fulfill(with: .delete)
self.tblPendingLeaves.endUpdates()
}
}
}
}
// customize the action appearance
deleteAction.image = UIImage(named: "Delete")
return [deleteAction]
}
我有同樣的問題。你修好了嗎? – Codey