删除核心数据中的所有未提交的实体

时间:2014-02-26 21:55:18

标签: ios objective-c macos core-data

假设我使用coreData在数据库中插入了几个实体。我没救。如果我没有对它们的引用,如何删除未保存的所有插入实体?

好的,我怎么看,[context rollback] context.undoManages时我无法使用nil?那很糟。 但在[context reset]之后,我应该如何处理我的所有引用和对象?如果我的界面用于数据源,会发生什么?我崩溃了吗?

3 个答案:

答案 0 :(得分:2)

这是CoreData's NSManagedObjectContext课程的目的。它允许您在“暂存器”中执行更改,该“暂存器”特定于您选择的任何目的。如果您愿意,可以[context save]。或者如果你决定扔东西......

[context rollback];

答案 1 :(得分:1)

[managedObjectContext rollback]

将还原所有未保存的更改。

答案 2 :(得分:1)

如果您使用父/子NSManagedObjectContext,那么您可以创建NSManagedObjectContext的新实例并重新分配其父实例。

如果不这样做,则可以使用实例方法重置

<强>文档重置

将接收器返回其基本状态。

- (void)reset

所有接收方的托管对象都被“遗忘”。如果您使用此方法,则应确保您也放弃对使用接收方获取的任何托管对象的引用,因为它们之后将无效。