我在 Core Data 中使用并发。像这样的Apple 文档经常告诉我,上下文的同步取决于我的应用程序的语义。而且我找不到如何合并UIManagedObjectContexts 的具体示例。所以在我的应用程序UIManagedObject中,在不同的上下文中可能有不同的属性值。我需要通过替换对象或更新其属性来合并上下文。这是我的代码:
- (void)__saveToMainContext
{
    if ([_context_ hasChanges])
    {
        NSError *error = nil;
        if (![_context_ save:&error])
        {
            if (error.code == NSManagedObjectMergeError)
            {
                for (NSMergeConflict* conflict in [[error userInfo] objectForKey:@"conflictList"])
                {
                    [_context_ refreshObject:[conflict sourceObject] mergeChanges:YES];
                }
            }
        }
    }
}
但是这种方法会创建重复的对象。