【发布时间】:2012-08-14 15:18:28
【问题描述】:
我的应用中目前有 2 个上下文。我的应用使用多个选项卡,因此一个选项卡可以显示数据,而另一个选项卡可能处于数据输入模式。
我使用一个主要上下文来读取大部分数据以进行显示。当我插入数据时,我使用的是第二个临时上下文,因为我不希望其他选项卡的操作保存添加到上下文中的可能不完整的对象。
它表示您应该使用通知在上下文之间传播更改。
我的两个上下文都使用相同的传播存储对象。我的问题是,如果在选项卡 A 中对上下文 A 进行了更改,那么当使用上下文 B 在选项卡 B 中重新发出获取请求时,更改会简单地显示在选项卡 B 中吗?
这就是我目前看到的。我假设核心数据缓存是在传播存储级别完成的?如果那是正确的,那么仅在您不打算重新运行 fetch 查询时才需要同步上下文,以便您可以选择性地仅更新已更改的 NSManagedObjects?
这就是我获得新上下文的方式:
NSPersistentStoreCoordinator *coordinator = [self persistentStoreCoordinator];
NSManagedObjectContext *newContext;
if (coordinator != nil) {
newContext = [[NSManagedObjectContext alloc] init];
[newContext setPersistentStoreCoordinator:coordinator];
}
【问题讨论】:
标签: iphone ios caching core-data concurrency