Ios application与self.tableView.deleteRows(位于:[indexath],带有:.fade)一起崩溃

Ios application与self.tableView.deleteRows(位于:[indexath],带有:.fade)一起崩溃,ios,swift,uitableview,Ios,Swift,Uitableview,应用程序部分删除文件,但在出现错误消息时也会崩溃 申报部分 var FileContent = (try? FileManager.default.contentsOfDirectory(atPath : newpath.first!)) var SingleUrl = newpath.first! 错误消息是 由于未捕获异常“NSInternalInconsistencyException”而终止应用程序,原因:“无效更新:节0中的行数无效。”。更新(5)后现有节中包含的行数必须等于更新(5

应用程序部分删除文件,但在出现错误消息时也会崩溃

申报部分

var FileContent = (try? FileManager.default.contentsOfDirectory(atPath : newpath.first!))
var SingleUrl = newpath.first!
错误消息是


由于未捕获异常“NSInternalInconsistencyException”而终止应用程序,原因:“无效更新:节0中的行数无效。”。更新(5)后现有节中包含的行数必须等于更新(5)前该节中包含的行数,加上或减去从该节中插入或删除的行数(0插入,1删除),加上或减去移入或移出该节的行数(0移入,0移出).

您需要从数组中删除,而不仅仅是从文件中删除

try! FileManager.default.removeItem(atPath: singleUrl + "/" + fileContent![indexPath.row]) 
fileContent!.remove(at:indexPath.row)
self.tableView.deleteRows(at: [indexPath], with: .fade)

删除行后重新加载表视图。这是否回答了您的问题?以小写字母开始var名称您还应该从相应的数据源(数组)中删除元素!检查section方法中的行数,返回的行数是错误的,这是消息显示的。并且应该首先调用tableView.beginUpdates&after updates tableView.EndUpdates。从中返回行数的原始数据模型不会更新。该模型仍在返回原始行数(5),因为您尚未从该数组中删除该项
try! FileManager.default.removeItem(atPath: singleUrl + "/" + fileContent![indexPath.row]) 
fileContent!.remove(at:indexPath.row)
self.tableView.deleteRows(at: [indexPath], with: .fade)