核心数据:刷新对象:合并更改:错误与"missing link"



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

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

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

由于所有相关实体都将变回故障,Core Data 会跟随图形回到我的 A 对象,还是上下文中缺少注册的 B 对象来链接两者?

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

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

相关内容

最新更新