我们可以保存特定的NSManagedObject吗?

时间:2013-10-18 07:44:05

标签: ios core-data nsmanagedobject nsmanagedobjectcontext

我们可以保存特定的NSManagedObject而不是整个NSManagedObjectContext吗?

2 个答案:

答案 0 :(得分:1)

没有。保存托管对象上下文可以保存对上下文所做的所有更改 没有用于保存单个对象的API。

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

答案 1 :(得分:1)

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

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