我在重新加载表视图时遇到问题。然后我在表视图上删除了一些内容,该表视图应该重新加载并且数据应该增加了,但是随后我什么也没删除,行之间有一些空白。 我尝试使用tableview.deleterows,但是在实施此方法后,我的应用程序崩溃了。
无效更新:第0节中的无效行数。更新(4)之后现有节中包含的行数必须等于更新(4)前该节中包含的行数,再加上或减去从该部分插入或删除的行数(插入0,删除1),再加上或减去移入或移出该部分的行数(移入0,移出0)。
if editingStyle == UITableViewCellEditingStyle.delete {
//let mt = movieArray2[indexPath.row]
//1
guard let appDelegate =
UIApplication.shared.delegate as? AppDelegate else {
return
}
let managedContext =
appDelegate.persistentContainer.viewContext
managedContext.delete(self.movieArray2[indexPath.row])
tableView.deleteRows(at: [indexPath], with: .automatic)
do{
try managedContext.save()
} catch {
}
}
答案 0 :(得分:1)
您需要在managedContext
delete
之前保存cell
,如下所示:
do{
let managedContext = appDelegate.persistentContainer.viewContext
managedContext.delete(self.movieArray2[indexPath.row])
try managedContext.save()
self.movieArray2.remove(at:indexPath.row)
tableView.deleteRows(at: [indexPath], with: .automatic)
} catch {
}