我有一个Core Data实体,它具有唯一的ID,并且应该只有一个实例,并且可以同时保存解析不同服务器调用的响应。使用MagicalRecord的saveWithBlock执行保存,并在保存期间检查是否已存在具有该唯一ID的实体(使用方法的本地上下文)。如果是这样的话,我将新数据保存在现有实体中,否则我会在合并默认上下文之前创建一个新数据。
如果我同时进行2次保存操作,则不起作用,因为在每个块的本地上下文中创建唯一实体存在竞争条件,并且每个块完成并合并默认上下文,导致保存2个实例。我觉得我错过了一些我应该做的事情(除了确保这两个街区不能同时运行),所以关于这个问题的任何建议都会很棒!