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

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

– (void)didChangeValueForKey:(NSString *)键

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

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

解决方法

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

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

>让孩子在其属性发生变化时ping父级.
>让父级监听NSManagedObjectContextDidSaveNotification并查看其中是否存在任何子级
>让父母观察孩子们的价值观.

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

相关文章

当我们远离最新的 iOS 16 更新版本时,我们听到了困扰 Apple...
欧版/美版 特别说一下,美版选错了 可能会永久丧失4G,不过只...
一般在接外包的时候, 通常第三方需要安装你的app进行测...
前言为了让更多的人永远记住12月13日,各大厂都在这一天将应...