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

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

– (void)didChangeValueForKey:(Nsstring *)键

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

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

解决方法

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

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

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

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

相关文章

UITabBarController 是 iOS 中用于管理和显示选项卡界面的一...
UITableView的重用机制避免了频繁创建和销毁单元格的开销,使...
Objective-C中,类的实例变量(instance variables)和属性(...
从内存管理的角度来看,block可以作为方法的传入参数是因为b...
WKWebView 是 iOS 开发中用于显示网页内容的组件,它是在 iO...
OC中常用的多线程编程技术: 1. NSThread NSThread是Objecti...