当父实体中的任何一个关系对象发生变化时,是否可以在父实体中接收回调或通知?当实体的属性发生变化时,这很有用.以下方法……
– (void)didChangeValueForKey:(NSString *)键
在我的Entity子类上调用.但是,当其中一个关系中的属性发生更改时,不会调用此方法.
我正在尝试做的是当我的父实体中的任何一个属性或关系对象发生更改时更新timeStamp属性.
解决方法
父实体可以将自己设置为关系的观察者,并且当关系发生变化时它将得到通知.但是,只有在实际关系(添加或删除子项)发生时才会触发.
观察特定的儿童实体要复杂得多.有几种方法可以解决它:
>让孩子在其属性发生变化时ping父级.
>让父级监听NSManagedObjectContextDidSaveNotification并查看其中是否存在任何子级
>让父母观察孩子们的价值观.
可能还有其他解决方案,但我建议#3.设置非常简单,性能影响非常小.