核心数据注释 - 修复丢失的删除传播

时间:2013-02-12 00:54:35

标签: ios objective-c xcode core-data

我有一个完美无缺的程序。没有崩溃,没有错误或任何东西,但是当涉及到删除NSManagedObject时,控制台中会出现以下消息。

Core Data: annotation: repairing missing delete propagation for to-one relationship

然后,关于这段关系的一些细节。

再次,这不会使应用程序崩溃,程序继续按预期运行,但仍然,这让我担心。我应该对此做些什么,或者从Core Data获得一些注释是否正常?

提前致谢:)

4 个答案:

答案 0 :(得分:7)

你应该采取更好的删除策略。

  1. 转到.xcdatamodeld,选择相关关系
  2. 使用反向关系选择实体和关系
  3. 选择删除规则

    上的操作

    enter image description here

答案 1 :(得分:5)

删除托管对象后,必须保存上下文。

删除后:

AppDelegate *appDelegate = [[UIApplication sharedApplication] delegate];
NSError *error;
if (![appDelegate.managedObjectContext save:&error]) {
    NSLog(@"Error in Appdelegate>getLocalVersionAddFirstVersion");
}
  

正如新的对象在上下文之前没有保存到商店一样   保存后,删除的对象不会从商店中删除   上下文已保存。 (Apple Documentation

答案 2 :(得分:5)

我遇到了同样的问题,一旦我为相关关系添加了反向关系,就会消失。

答案 3 :(得分:0)

对我来说这是一个稍微不同的问题:有一个孤儿检测,它在保存时立即删除了新创建的对象,因为我忘了将新的父关系添加到isOrphan()功能。奇怪的是,这导致了这个错误......