Core data 将两组核心数据对象合并到一个数据存储中

Core data 将两组核心数据对象合并到一个数据存储中,core-data,Core Data,我的应用程序数据模型是为了在实体中包含大量实体而构建的,如下图所示。在我屈服并在这个论坛上提问之前,我做了大约两个小时的研究,所以我努力为自己找到答案,我不仅仅是在浪费时间 无论如何,我计划做的是让一个本地记录器对象由用户填充,但我的应用程序还需要能够从蓝牙传输接收另一个记录器对象,并合并所有传入记录器的实体和与这些实体相关的实体,以此类推 如何将传入记录器的内容移动到本地副本中,并在出现时找到重复的匹配对象 除了使用for循环遍历所有内容之外,还有更简单的方法吗 你问什么还不完全清楚,但我想试

我的应用程序数据模型是为了在实体中包含大量实体而构建的,如下图所示。在我屈服并在这个论坛上提问之前,我做了大约两个小时的研究,所以我努力为自己找到答案,我不仅仅是在浪费时间

无论如何,我计划做的是让一个本地记录器对象由用户填充,但我的应用程序还需要能够从蓝牙传输接收另一个记录器对象,并合并所有传入记录器的实体和与这些实体相关的实体,以此类推

如何将传入记录器的内容移动到本地副本中,并在出现时找到重复的匹配对象

除了使用for循环遍历所有内容之外,还有更简单的方法吗


你问什么还不完全清楚,但我想试试看

您的图表没有显示子实体。它确实显示了通过关系连接的不同实体。从我读到的你的要求来看,你没有合并子实体。您只是将两个不同来源的
NSManagedObject
实例组合在一起

这是一个简单的工作,一旦你收紧你的术语。为每个实体实现一个find或create类方法。这意味着你必须决定是什么让一个地区、团队或比赛独一无二。每个find或create方法都将始终返回其实体的实例,或者通过检索现有实体,或者通过插入、填充和返回新实体。定义获取请求将使此任务不那么繁琐

当收到要合并的新批结果时,从顶部对象开始,遍历关系,然后查找或创建传入集中的每个对象


在我看来,你的录音机实体做的不多,而且使事情变得复杂。您可能确实希望定义该类,但不希望将其存储在核心数据模型中。区域、团队和匹配的模型与现实世界很好地匹配,并且使抓取/合并更加明显。

我对误用“子实体”一词表示歉意,我是核心数据的新手,这就像我使用它的第四天一样。find或create类方法可能是什么样的?(如果可能,请提供伪代码解决方案)我是否应该将其添加到类别中?我看到一个类别可以用来实现实体所需的方法,但我不确定什么样的情况最适合使用类别。好吧,我现在完全按照你说的方式修复了它。谢谢你帮助我。我很感激能学到新东西