2

我们可以保存一个特定NSManagedObject的整体NSManagedObjectContext吗?

4

2 回答 2

2

不会。保存托管对象上下文会保存对上下文所做的所有更改,并且没有用于保存单个对象的 API。

您可能可以做的是创建一个单独的上下文,在那里创建或修改一个对象并保存该上下文。

于 2013-10-18T08:03:15.143 回答
2

Core Data 不用于对象序列化,它是对象图序列化。这是一个重要的区别。一旦你有一个NSManagedObject它与一个上下文相关联,Core Data 就会在上下文级别处理保存,因为这是它保证任何类型的对象图一致性的唯一方法。换句话说,您不能保存单个对象,因为如果它们与其他对象有关系,您还需要保存这些对象,并且它会快速级联到整个图形。

您似乎担心崩溃恢复。如果应用程序崩溃并且用户重新启动它,他们是否希望只看​​到他们保存的项目,或者崩溃前屏幕上的所有内容?如果是前者,您应该在保存时删除它们并将它们从用户视图中删除(带有一些动画),如果是后者,您应该提交所有内容,并可能在其他时间删除您不感兴趣的对象.

于 2013-10-18T08:25:42.250 回答