Iphone 删除事件表中的NSManageObject视图:CommittedItingStyle:ForRowatineXpath:
在tableView:CommittedItingStyle:ForRowatingIndexPath:事件中尝试删除一个NSManageObject时出现异常。以下是我的代码部分:Iphone 删除事件表中的NSManageObject视图:CommittedItingStyle:ForRowatineXpath:,iphone,Iphone,在tableView:CommittedItingStyle:ForRowatingIndexPath:事件中尝试删除一个NSManageObject时出现异常。以下是我的代码部分: - (void)tableView:(..)tableView commitEditingStyle:(..)editingStyle forRowAtIndexPath:(..)indexPath { if (editingStyle == UITableViewCellEditingStyleDele
- (void)tableView:(..)tableView commitEditingStyle:(..)editingStyle
forRowAtIndexPath:(..)indexPath {
if (editingStyle == UITableViewCellEditingStyleDelete) {
[managedObjectContext deleteObject:
[fetchedResultController objectAtIndexPath:indexPath]];
...
}
}
异常是在deleteObject:(我的本地NSManagedObjectContext的方法)行引发的。这是异常消息:
未捕获异常“NSObjectInaccessibleException”,原因:“ID为0x3d07a30的NSManagedObject已无效。”
我尝试先获取实体对象,然后删除它。实体看起来正常,但删除时仍然存在异常:
NSManagedObject *entityToDelete =
[fetchedResultsController objectAtIndexPath:indexPath];
[mangedObjectContext deleteObject:entityToDelete]; // Exception again.
我不确定是否无法删除从fetchedResultsController(NSFetchedResultsController类型)检索的实体对象?如果是,是否有其他方法获取要删除的实体对象
我发现在中,NSArray上有用于保存事件实体对象的。我不确定是否有必要使用NSArray保存本地实体对象,然后将其用于删除?我想我找到了无法从NSManagedObjectContext中删除实体对象的原因。它是UITableViewController类中无效的NSManagedObjectContext对象。简而言之,我没有在属性getter中保留上下文对象。我问题中的代码很好。当获取的结果控制器和上下文对象正常时,删除工作正常