0

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

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

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

由于所有相关实体都将变成故障,Core Data 是否会按照图表返回到我的 A 对象,或者上下文中缺少注册的 B 对象来链接两者是否会停止?

4

1 回答 1

0

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

- (void) willTurnIntoFault
{
    NSLog(@"%@ will turn into fault", self.name);
    [super willTurnIntoFault];
}
于 2012-07-17T13:16:47.307 回答