在我们的应用程序中,我们使用多个 NSManagedObjectContext
实例,每个线程创建一个。因此,当我要使用任何对象时,我总是确保通过执行此操作从正确的上下文中获取对象。
object = (ObjectClass *)[[contextProvider contextForCurrentThread] objectWithID:[user objectID]];
因为我想确保对象已更新,所以我去刷新它:
[[contextProvider contextForCurrentThread] refreshObject:object mergeChanges:YES];
我的问题是:如果我想从这个对象遍历关系,即 object.someRelationship
,我还应该确保关系在当前上下文中,并刷新它吗?什么是正确的方法?每次刷新刷新都好痛苦...
最佳答案
- 研究嵌套上下文和并发类型。它们不会解决您的根本问题,但它们比您已有的要好得多。
- 你需要政策。在我看来,您的软件(根本不知道)似乎缺乏结构。结构伴随着政策。
- 即使您要一直刷新您的对象(所有对象),您也会遇到严重的竞争条件。
在不知道您应用的详细信息的情况下,除了“考虑您的工作”和“介绍政策”之外,没有人能够提出任何建议。
关于ios - 在核心数据中遍历关系时重新获取对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19423667/