Ios 在核心数据中遍历关系时重新蚀刻对象

Ios 在核心数据中遍历关系时重新蚀刻对象,ios,objective-c,core-data,Ios,Objective C,Core Data,在我们的应用程序中,我们使用多个NSManagedObjectContext实例,每个创建的线程一个。因此,当我要使用任何对象时,我总是通过这样做来确保我从正确的上下文中获得了对象 object = (ObjectClass *)[[contextProvider contextForCurrentThread] objectWithID:[user objectID]]; 因为我想确保对象已更新,所以我去刷新它: [[contextProvider contextForCurrentThre

在我们的应用程序中,我们使用多个
NSManagedObjectContext
实例,每个创建的线程一个。因此,当我要使用任何对象时,我总是通过这样做来确保我从正确的上下文中获得了对象

object = (ObjectClass *)[[contextProvider contextForCurrentThread] objectWithID:[user objectID]];
因为我想确保对象已更新,所以我去刷新它:

[[contextProvider contextForCurrentThread] refreshObject:object mergeChanges:YES];
我的问题是:如果我想遍历这个对象的关系,即
object.someRelationship
,我是否应该确保该关系在当前上下文中,并刷新它?正确的方法是什么?。每次重新蚀刻和刷新都是如此痛苦

  • 查看嵌套上下文和并发类型。它们不会解决你潜在的问题,但它们比你已经拥有的要好得多
  • 你需要政策。在我看来,你的软件(根本不知道)缺乏结构。结构与政策相伴而生
  • 即使您一直刷新对象(所有对象),您也会遇到严重的竞争条件
  • 如果不知道你的应用程序的细节,除了“思考你做了什么”和“介绍政策”,没有人能提出任何建议

  • 查看嵌套上下文和并发类型。它们不会解决你潜在的问题,但它们比你已经拥有的要好得多
  • 你需要政策。在我看来,你的软件(根本不知道)缺乏结构。结构与政策相伴而生
  • 即使您一直刷新对象(所有对象),您也会遇到严重的竞争条件

  • 如果不知道你的应用程序的详细信息,除了“想想你在做什么”和“介绍政策”之外,没有人能提出任何建议。

    你能给我举一个“政策”的例子吗?我认为问题并不宽泛,事实上是非常具体的。读一下这篇博文:(它谈论的是中途的政策)你能给我举一个关于这些“政策”的例子吗?我认为问题并不宽泛,事实上是非常具体的