我有一个运行良好的程序。没有崩溃,没有错误或任何东西,但是在删除 NSManagedObject 时,控制台中会出现以下消息。
Core Data: annotation: repairing missing delete propagation for to-one relationship
然后,关于这种关系的一些细节。
再一次,这不会使应用程序崩溃并且程序按预期继续运行,但这仍然让我担心。我应该对此做些什么,还是可以从 Core Data 获得一些注释?
提前致谢 :)
我有一个运行良好的程序。没有崩溃,没有错误或任何东西,但是在删除 NSManagedObject 时,控制台中会出现以下消息。
Core Data: annotation: repairing missing delete propagation for to-one relationship
然后,关于这种关系的一些细节。
再一次,这不会使应用程序崩溃并且程序按预期继续运行,但这仍然让我担心。我应该对此做些什么,还是可以从 Core Data 获得一些注释?
提前致谢 :)
您应该采取更好的删除策略。
转到您的 .xcdatamodeld,选择相关关系
使用反向关系选择您的实体和关系
选择对删除规则执行的操作
我遇到了同样的问题并且它消失了,只要我为有问题的关系添加了一个反比关系。
删除托管对象后必须保存上下文。
删除某些内容后:
AppDelegate *appDelegate = [[UIApplication sharedApplication] delegate];
NSError *error;
if (![appDelegate.managedObjectContext save:&error]) {
NSLog(@"Error in Appdelegate>getLocalVersionAddFirstVersion");
}
就像在保存上下文之前不会将新对象保存到存储中一样,在保存上下文之前不会从存储中删除已删除的对象。(苹果文档)
对我来说,这是一个稍微不同的问题:有一个孤儿检测在保存时立即删除了新创建的对象,因为我忘记将新的父关系添加到isOrphan()
函数中。奇怪的是,它导致了这个错误......