当子关系实体在核心数据中更改时通知父实体

Nat*_*ter 9 entity-relationship core-data ios

当其中任何一个关系对象发生变化时,是否可以在父实体中接收回调或通知?当实体的属性发生变化时,这很有用.以下方法......

- (void)didChangeValueForKey:(NSString *)key

在我的Entity子类上调用.但是,当其中一个关系中的属性发生更改时,不会调用此方法.

我正在尝试做的是当我的父实体的任何一个属性或关系对象发生更改时更新timeStamp属性.

Mar*_*rra 6

父实体可以将自己设置为关系的观察者,并且当关系发生变化时它将得到通知.但是,只有在发生实际关系(添加或删除子项)时才会触发.

观察特定的儿童实体要复杂得多.有几种方法可以解决它:

  1. 让孩子在其属性发生变化时ping父级.
  2. 让父母听,NSManagedObjectContextDidSaveNotification并看看是否有任何一个孩子在那个保存
  3. 让父母观察孩子的价值观.

可能还有其他解决方案,但我建议#3.设置非常简单,性能影响非常小.