清除核心数据中的上下文:重置vs删除注册的对象?

我正在寻找这个post,但我不完全明白…有什么区别:

[context reset]; 

和:

 for (NSManagedObjectID *objId in objectIds) { [context deleteObject:[context objectWithID:objId]]; } 

还是他们是相当的?

谢谢

使用reset将托pipe对象上下文恢复到您在第一次创build它时的状态 – 在执行任何提取之前,创build了任何新对象等。如果在内存中有从此上下文中提取的托pipe对象,他们现在无法使用。 使用reset 不会影响持久存储文件 。 之后所有实例依然存在,它们只是不在内存中。 他们可以被再次提取。

使用deleteObject从持久存储中删除对象。 它不再存在。 由于它不存在,所以不能被取回。