假设我有以下实体关系模型:
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];
}