iPhone核心数据 - 如何保存实体的新价值?

时间:2011-03-31 10:02:30

标签: iphone core-data

我有一个实体,比如Person,它有一个属性Name。

我通过Context创建它并获取Person的实例。现在我给出

person.name = @“杰克”;

那么如何在持久性商店中更新?您可以说使用[上下文保存],但如果我调用该方法,上下文会保存从它出来的所有内容吗?

例如,如果我这样做

person1.name = @“Jack1”; person2.name = @“Jack2”;

我只想更新person1.name,但不更新person2.name,我该怎么做?

由于

2 个答案:

答案 0 :(得分:2)

为什么在为person.name Jack ....设置值时不保存上下文? &安培;继续使用Jack2

答案 1 :(得分:2)

您无法选择保存哪些对象,哪些不保存。保存上下文时,将更新托管对象上下文中已修改的对象,保存上下文是将更改保存到该上下文中对象的唯一方法。

如果您想使用person2但可能不想提交您所做的任何更改,则可以创建单独的托管对象上下文。如果person2是一个新对象,因此不能连接到商店中的任何其他对象,但如果person2可能已经存在于第一个上下文中,它会变得有点复杂。核心数据本身不会同步上下文之间的更改:阅读Communicating Changes Between Contexts了解有关如何处理此问题的更多信息。