我正在创建一个存储事件及其数据的应用程序,它在我尝试添加Core Data之前一直运行良好,从那时起,我一直遇到问题。一个是使用delete func并不真正删除tablecell,只是内部的数据。如果我尝试删除空白单元格,它什么都不做。下面是我正在使用的删除功能的代码。
此外,我的应用程序由于某种原因从这些空白单元格中的一个开始,无法删除。
func tableView(_ tableView: UITableView, commit editingStyle: UITableViewCellEditingStyle, forRowAt indexPath: IndexPath) {
if editingStyle == .delete {
PersistenceService.context.delete(events[indexPath.row])
do {
try PersistenceService.context.save()
eventLog.reloadData()
} catch let error as NSError {
print("Could not save. \(error), \(error.userInfo)")
}
}
}
答案 0 :(得分:1)
您必须从数据源数组中删除和上下文中的项目,强烈建议您使用deleteRows
而不是重新加载整个表视图以利用动画
PersistenceService.context.delete(events[indexPath.row])
events.remove(at: indexPath.row)
eventLog.deleteRows(at: [indexPath], with: .fade)
... save context