Ios 无法删除行/核心数据
在我的应用程序中,我有一个带有mapkit值的表视图。我可以编辑表格,删除行,但当应用程序重新启动时,相同的删除行仍然存在…我如何修复此问题?用于编辑的代码:Ios 无法删除行/核心数据,ios,objective-c,core-data,Ios,Objective C,Core Data,在我的应用程序中,我有一个带有mapkit值的表视图。我可以编辑表格,删除行,但当应用程序重新启动时,相同的删除行仍然存在…我如何修复此问题?用于编辑的代码: - (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath { if (editingStyle ==
- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath {
if (editingStyle == UITableViewCellEditingStyleDelete) {
[_locations removeObjectAtIndex:[indexPath row]];
[tableView deleteRowsAtIndexPaths:@[indexPath] withRowAnimation:UITableViewRowAnimationFade];
[tableView reloadData];
}
有什么建议吗?多谢各位
NSFetchedResultsController
从核心数据加载数据NSPersistentContainer
请使用performBackgroundTask:
)您不能在
deleteRowsAtIndexPaths
之后调用reloadData
,但必须同时删除核心数据堆栈中的对象并保存上下文。可能您没有从数据库中删除对象。使用[NSManagedObjectContext deleteObject:]然后保存它。所有这些我都必须在编辑表方法中实现?调用performBackgroundTask(\u:)的传入私有context
)
不会导致NSFetchedResultsController
更新:在核心数据设置中:self.persistentContainer.viewContext.automaticallyMergesChangesFromParent=YES代码>当然,但默认情况下它是否
,因此save()
既不会更新viewContext
也不会通知NSFetchedResultsController
。我只是觉得这应该加在你的答案上。