我有一个与其他子托管对象处于“to-many”关系的托管对象。当我删除其中一个子托管对象时,将清空主托管对象上表示与子托管对象的关系的数组。
下面是我获取subManaged对象并删除它时会发生什么的日志。我原以为操作的结果是.subMO数组的计数为1。
NSLog(@"%d", superViewMO.subMO.count); //this gives 2
NSLog(@"%d", fetchedSubMOArray.count); //this gives 1
[managedObjectContext deleteObject:[fetchedSubMOArray objectAtIndex:0]];
NSLog(@"%d", superViewMO.subMO.count); //this gives 0
答案 0 :(得分:1)
我发现了原因。我不小心将从subManagedObject到superview的关系设置为具有Cascade的删除规则。我实际上删除了superView allong我认为subView。将其更改为Nullify可产生预期的性能。