iphone - 核心数据`deleteObject:`问题!

标签 iphone objective-c ios core-data entity-relationship

我在核心数据中具有以下实体,如下图所示。

所有关系的删除规则是层叠。

问题:
每当我删除第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];

并不是我从未从核心数据中删除任何对象,而是这是发生问题的唯一地方。任何人都可以帮忙。

谢谢。
PS。我还看到了其他有关SO的问题,但没有一个情况与我一样。

编辑:

我的问题是,当我尝试从级别2删除任何一个对象时,entity1中的所有对象都出现数据故障。这样的事情。
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>)" 
)

最佳答案

Core Data Programming Guide

如果关系删除规则是
级联,然后删除一个对象可能
导致其他人的删除。

如果您不希望在删除给定对象时删除相关对象,则这些关系的删除规则应为“级联”以外的其他规则。您可能想要“无效化”。

关于iphone - 核心数据`deleteObject:`问题!,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5630976/

相关文章:

iphone - 如何在 iPhone 的 View 顶部显示弹出窗口

iphone - 在设备旋转之前关闭UIActionSheet?

ios - 为什么我得到 : Object file was built for newer iOS version than being linked?

ios - GMSMapView myLocation 未提供实际位置

ios - 枚举 ALAssetsLibrary 时,我可以区分屏幕快捷图像和相机拍摄的图像吗?

ios - Xcode IOS 8.3 swift 如何检查蓝牙是否已连接?

iphone - 对于 Mac 环境来说,什么是好的版本控制?

iphone - 是否存在真正的 iPhone/iPad 模拟器?

ios - RestKit valueTransformer 未被调用

iphone - 架构 armv7 的 undefined symbol ?这个错误是什么意思?