我想我可能会错过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对象没有反向关系。
我在这里缺少什么?...
答案 0 :(得分:1)
这似乎是CoreData代码深处的某种不一致。除了CoreData中的错误之外,我找不到任何其他合理的解释。
在项目上拥有反向To-Many关系似乎涵盖了该错误。