我是 coredata 的新手。我有
1. 一个主视图控制器,我在其中输入数据并将数据保存在 coredata 中创建的相应实体中。
2. 然后我有一个 tableview(totalTableView) 控制器,它集中显示用户输入的数据,之后
3. 还有另一个 tableview (todaysTableView),它只显示当天输入的数据。
所有都通过导航控制器连接。当我从 todaysTableView 中删除一个对象时,它会自行消失,但是当我导航回 totalTableView 时,该对象仍然存在。此外,当我一直导航回到我的主视图控制器(主屏幕)然后我转到我的 totalTableView 时,已删除的对象不存在,现在它被清除,现在它完美了。为什么当我在删除后立即导航回 totalTableView 时它没有被清除。
我的视图控制器的流程是这样的
mainViewController-->totalTableView-->todaysTableView
这是我在 todaysTableView m.file 中的代码,用于删除带有对象 ID 的对象
- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath
{
NSManagedObjectContext *managedObjectContext = [self managedObjectContext];
if (editingStyle == UITableViewCellEditingStyleDelete) {
// Delete the row from the data source
[managedObjectContext deleteObject:[managedObjectContext objectWithID:moID]];
[managedObjectContext save:nil];
NSLog(@"object id check %@",moID);
NSError *error = nil;
if(![managedObjectContext save:&error])
{
NSLog(@"deleting error");
return;
}
[self.todaysCategory removeObjectAtIndex:indexPath.row];
[self.tableView deleteRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] withRowAnimation:(UITableViewRowAnimationFade)];
[self.tableView endUpdates];
}
如果有人可以指导我解决这个问题。提前致谢