我有一个核心数据生成类“项目”。它具有“类型”的属性,这是另一个类。
我已经自定义了“setType”,以便进行其他一些处理 - 例如,我更新了“dateTypeLastSet”。到目前为止,这工作正常。
但是,由于某种原因,当我删除该项目时,也会发生这种额外的处理。具体来说,直到我在 NSManagedObjectContext 上调用“保存”时才会发生这种情况。
这是因为删除会导致自动调用“setType:nil”吗?记录参数表明 NULL 是尝试的分配。
这对我来说是个问题,因为在我的附加处理代码中,我执行了一些计算。假设我在其中存储了一些“设置项目类型的次数”的计数器。我不希望删除和设置为 nil 被计算在内。但我也不能只检查 nil,因为这可能是一个合法的更新(nil 作为一种类型可能是可以接受的)。
任何解释或建议表示赞赏。
更新
事实证明,当类型被删除时,它确实将该属性设置为 nil - 我注意到数据实体的删除规则默认为无效。如果将其更改为无操作,则我没有此问题。
所以现在的问题变成了 - 将删除规则从无效更改为其他影响是什么?为什么这被视为合理的默认值?