Iphone 为什么我要有多个托管对象上下文?

Iphone 为什么我要有多个托管对象上下文?,iphone,core-data,Iphone,Core Data,我不明白有多个托管对象上下文的意义。这有什么意义吗?苹果的文档中缺少这些案例的有用示例。仅举一个简单示例: 如果你从网络上获取数据。在合并数据并仅保存主上下文之前,您需要第二个上下文来插入新对象并检查数据是否存在于主上下文中。仅举一个简单示例: 如果你从网络上获取数据。在合并数据并仅保存主上下文之前,您需要第二个上下文来插入新对象并检查数据是否存在于主上下文中。Santoni的答案是主要原因 您还可以有多个不相关的模型(MOM)。在这种情况下,每个模型都有上下文。桑托尼的答案是主要原因 您还可以

我不明白有多个托管对象上下文的意义。这有什么意义吗?苹果的文档中缺少这些案例的有用示例。

仅举一个简单示例:


如果你从网络上获取数据。在合并数据并仅保存主上下文之前,您需要第二个上下文来插入新对象并检查数据是否存在于主上下文中。

仅举一个简单示例:


如果你从网络上获取数据。在合并数据并仅保存主上下文之前,您需要第二个上下文来插入新对象并检查数据是否存在于主上下文中。

Santoni的答案是主要原因


您还可以有多个不相关的模型(MOM)。在这种情况下,每个模型都有上下文。

桑托尼的答案是主要原因


您还可以有多个不相关的模型(MOM)。在这种情况下,每个模型都有上下文。

最重要的用途(IMHO)是线程;如果使用多个线程,每个线程都应该有自己的托管对象上下文。

最重要的用途(IMHO)是线程;如果您使用多个线程,每个线程都应该有自己的托管对象上下文。

只需在堆上抛出另一个可能的用例:
NSManagedObjectContext
s还保持自己的“撤消”状态,因此如果您出于某种原因希望保持更改序列分离,那么这将是一种方法。例如,您可以对上下文的A和B应用不同的更改,然后在保存B之前将A扔掉。

只是为了在堆上扔掉另一个可能的用例:
NSManagedObjectContext
s也维护它们自己的“撤消”状态,因此,如果出于某种原因希望保持更改序列分开,那么这将是一种方法。例如,您可以对上下文的A和B应用不同的更改,然后在保存B之前扔掉A。

这与Santoni的答案是一致的。启动后台线程向商店添加多个新对象。这与Santoni的答案是一致的。启动后台线程以向存储添加多个新对象。