核心数据:refreshObject:mergeChanges:故障与#34;缺少链接"

时间:2012-07-02 08:42:45

标签: cocoa core-data

假设我有以下实体关系模型:

A <-->> B <-->> C <-->> D

A是我的根对象,我将它保留在我的应用程序中的某个位置。我使用NSFetchRequest来获取C的特定实例及其所有底层D对象,因此B尚未在上下文中注册。在完成C之后,我想通过保存和使用refreshObject来清除内存:mergeChanges:将其与所有D对象一起转换回故障。但是,我想保持我的A对象完好无损。

由于所有相关实体都将被转回故障,核心数据是否会将图形返回到我的A对象,或者在上下文中是否缺少已注册的B对象来链接两个停止?

1 个答案:

答案 0 :(得分:0)

我会假设后者(对A没有更改),但您可以通过覆盖托管对象子类中的willTurnIntoFault来轻松检查:

- (void) willTurnIntoFault
{
    NSLog(@"%@ will turn into fault", self.name);
    [super willTurnIntoFault];
}