核心数据`deleteObject:`问题!

Rob*_*bin 1 iphone entity-relationship core-data objective-c ios

我在核心数据中有以下实体,如下图所示. 核心数据模型

所有关系的删除规则是级联的.

问题:当我删除级别2中的任何一个实体对象并执行[context save:&error];表Entity1中的所有其他对象时,由于无法再读取Entity1对象而导致数据错误并且应用程序崩溃,从而产生EXC_BAD_ACCESS错误.

我正在使用此代码

for(Entity1 *entity in listOfEntitys)
{
    if(entity.Relation1)
        [context deleteObject:entity.Relation1];

    if(entity.Relation2)
        [context deleteObject:entity.Relation2];

    if(entity.Relation3)
        [context deleteObject:entity.Relation3];
}
[context save:&error];
Run Code Online (Sandbox Code Playgroud)

它不像我从未从核心数据中删除任何对象,但这是问题发生的唯一地方.谁能帮忙.

谢谢.
PS.我在SO上看过其他问题,但没有一个像我一样.

编辑:

我的问题是,当我尝试从级别2删除任何一个对象时,实体1中的所有对象都会出现数据错误.这样的事情.

Printing description of listOfEntitys: 
(
    "<Entity1: 0x4dc3d80> (entity: Entity1; id: 0x4dc2d60 <x-coredata://DF11191D-0BE9-4A63-955D-0A43153290A4/Entity1/p5> ; data: <fault>)",
    "<Entity1: 0x5b06ea0> (entity: Entity1; id: 0x5b077d0 <x-coredata://DF11191D-0BE9-4A63-955D-0A43153290A4/Entity1/p6> ; data: <fault>)",
    "<Entity1: 0x4dc2cf0> (entity: Entity1; id: 0x4dc2df0 <x-coredata://DF11191D-0BE9-4A63-955D-0A43153290A4/Entity1/p7> ; data: <fault>)",
    "<Entity1: 0x4dc2b80> (entity: Entity1; id: 0x4dc3640 <x-coredata://DF11191D-0BE9-4A63-955D-0A43153290A4/Entity1/p8> ; data: <fault>)" 
)
Run Code Online (Sandbox Code Playgroud)

Cal*_*leb 6

来自核心数据编程指南

如果关系删除规则是Cascade,则删除一个对象可能会导致删除其他对象.

如果您不希望在删除给定对象时删除相关对象,则这些关系的删除规则应该不是"级联".你可能想要'nullify'.