无法删除其他上下文中的对象

时间:2014-08-08 08:04:11

标签: ios core-data nsmanagedobjectcontext

我持续面对这个问题超过3个月。我已经搜索了很多并阅读了相关的文档并访问了很多论坛,但无法找到有效的解决方案。删除对象时,我收到典型的NSManagedObject错误。 NSManagedObjectContext无法删除其他上下文中的对象。

我试图绕过并尝试使用其NSManagedObject ID删除对象,但无济于事。

  NSManagedObjectID *findingsSurveyDataItemApiId = [findingsSurveyDataItemApi objectID];
            [self.managedObjectContext deleteObject:[self.managedObjectContext objectWithID:findingsSurveyDataItemApiId]];

任何人都可以告诉为什么以上的解决方案仍无效?

PS:我在应用程序中有两个托管对象上下文。

1 个答案:

答案 0 :(得分:2)

我想这可能是来自Core Data的误导性错误消息。如果您要删除的对象尚未保存到持久性存储,objectWithID将不会返回有效对象:

  

假定存在objectID表示的持久性存储中的数据 - 如果不存在,则在访问任何属性时(即,触发错误时)返回的对象会引发异常。

使用existingObjectWithID:error:代替并在尝试删除之前检查它是否返回非零对象。