The problem is like the title. Here is my code. And I find the operation, swipe from the right to left to delete directly, is new feature in iOS11
let model = self.customRules.remove(at: indexPath.row) //delete datasource
self.dao.delete(model: model) //delete data in database
tableView.beginUpdates() //still crash no matter the line exists or not
tableView.deleteRows(at: [indexPath], with: .left) //delete cell view
tableView.endUpdates()
This is the crash log.
*** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'UITableView internal inconsistency: the _swipedIndexPath cannot be nil if the swipe to delete row is being deleted in _updateRowsAtIndexPaths:withUpdateAction:rowAnimation:usingPresentationValues:'
Last Exception Backtrace:
0 CoreFoundation 0x000000018710fd50 <redacted> + 148
1 libobjc.A.dylib 0x0000000186624528 objc_exception_throw + 56
2 CoreFoundation 0x000000018710fc0c <redacted> + 0
3 Foundation 0x0000000187a9bb44 <redacted> + 112
4 UIKit 0x00000001907c52b8 <redacted> + 648
5 UIKit 0x00000001906819e4 <redacted> + 140
......