当实体分配给多个父项时,CoreData会断开To-Many关系

时间:2016-09-23 13:30:53

标签: ios objective-c xcode core-data

我想我可能会错过core data运作的方式,但我有两个实体:集合项目(10个属性)。集合具有To-Many关系项(没有反向,没有删除操作,有序)。

如果我将NSManagedObject项添加到不同的集合中,则有时先前创建的集合会丢失与其项目的关系。让我通过使用单词SOMETIMES来解释我的意思。

在不同的系列中展示了400个独特的项目。我从webservice加载集合。并且有两个单独的电话:

1)首先调用返回的6个项目的小集合(我们称之为集合A)及其所有属性(10)。

2)第二次调用返回500个项目的5个集合(每个集合具有不同顺序的相同项目)。在400件物品中,之前还有6件物品(集合A是完整集合的子集)

首次响应后,将解析并保存所有数据。第二次调用后,将解析并保存新数据。如果之后我请求收集A - 它没有项目(关系错误与它无关)。

PLOT TWIST:如果在解析每个新集合之前我请求集合A的项目计数 - 关系保持不变并且所有项目都可用。

已经花了2天时间。不知道还有什么要检查。上下文相同,在添加每个新实体后保存上下文。如前所述,Item对象没有反向关系。

我在这里缺少什么?...

1 个答案:

答案 0 :(得分:1)

这似乎是CoreData代码深处的某种不一致。除了CoreData中的错误之外,我找不到任何其他合理的解释。

项目上拥有反向To-Many关系似乎涵盖了该错误。