0

我有一个与其他子托管对象存在“对多”关系的托管对象。当我删除其中一个子托管对象时,主托管对象上表示与子托管对象的关系的数组被清空。

下面是我获取 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
4

1 回答 1

1

我找到了原因。我不小心将 subManagedObject 到 superview 的关系设置为具有 Cascade 的删除规则。我实际上是在删除 superView 以及我认为的 subView。将其更改为 Nullify 会产生预期的性能。

于 2013-07-04T04:57:30.760 回答