说,我把我的coredata结构化为这样......
类
学生(嵌套在课程中)
我指定了映射的primaryKeyAttribute,如上所示。当我使用restkit发送加载请求时,它将使用相同的主键正确更新对象。 RestKit似乎正确地更新了课程,但对于学生来说,它只是增加了新课程并使旧学生的班级关系无效。所以现在我在db中有不需要的学生实体而没有引用类。
有没有办法可以使用RestKit正确更新学生关系?顺便说一句,我想过将studentID用作primaryKeyAttribute,但如果在新的更新中删除了一些学生,它可能无法正常工作。可能是我必须在更新之前清除班级的所有学生,但我也不知道如何在RestKit中做到这一点。因为在调用RKObjectLoader didLoadObject时,似乎所有内容都已保存到managedObjectContext。有任何想法吗? :(
答案 0 :(得分:0)
仍然无法找到RestKit-way解决方案,并且看起来不会有人能够回答这个问题: - \所以我发布了我能提出的最佳方法。
我目前的工作是迭代课堂上的学生,并在objectLoader:willMapData:
中手动删除它们。我必须在这里(不在objectLoader:didLoadObject:
),因为它是新数据尚未保存到MOC的地方。
您也可以完全删除Class实体,但这种方式实际上并不会更新旧实体。它创建了一个新的“核心数据内部_pk”(主键)(是的,我确实关心它)。