ios - 在核心数据中遍历关系时重新获取对象

标签 ios objective-c core-data

在我们的应用程序中,我们使用多个 NSManagedObjectContext 实例,每个线程创建一个。因此,当我要使用任何对象时,我总是确保通过执行此操作从正确的上下文中获取对象。

object = (ObjectClass *)[[contextProvider contextForCurrentThread] objectWithID:[user objectID]];

因为我想确保对象已更新,所以我去刷新它:

[[contextProvider contextForCurrentThread] refreshObject:object mergeChanges:YES];

我的问题是:如果我想从这个对象遍历关系,即 object.someRelationship,我还应该确保关系在当前上下文中,并刷新它吗?什么是正确的方法?每次刷新刷新都好痛苦...

最佳答案

  1. 研究嵌套上下文和并发类型。它们不会解决您的根本问题,但它们比您已有的要好得多。
  2. 你需要政策。在我看来,您的软件(根本不知道)似乎缺乏结构。结构伴随着政策。
  3. 即使您要一直刷新您的对象(所有对象),您也会遇到严重的竞争条件。

在不知道您应用的详细信息的情况下,除了“考虑您的工作”和“介绍政策”之外,没有人能够提出任何建议。

关于ios - 在核心数据中遍历关系时重新获取对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19423667/

相关文章:

ios - 在 iOS 中启动应用程序之前如何执行任务?

ios - 在 CoreData 中传递对象

ios - 动画磨砂玻璃

objective-c - 如何在 Core image 中通过 CIFilter 更改最小值或最大值?

iphone - 如何检测在 iphone 上加载 UIWebView 时发生的 url 重定向?

iphone - UI搜索栏表格 View

objective-c - 如何使用 nspredicate 对非英文字符串进行排序?

ios - 核心数据 PerformBlockAndWait 没有自动释放轮询

ios - 如何在 UITableView 单元格上的所需位置添加图像?

ios - 推送通知服务器端数据模型