核心数据,删除托管对象对对象“superView”的影响

时间:2013-07-04 03:47:49

标签: ios core-data nsmanagedobject

我有一个与其他子托管对象处于“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

1 个答案:

答案 0 :(得分:1)

我发现了原因。我不小心将从subManagedObject到superview的关系设置为具有Cascade的删除规则。我实际上删除了superView allong我认为subView。将其更改为Nullify可产生预期的性能。