Cocoa 每次更改核心数据MO中的另一个属性时重新计算属性
我在一个核心数据管理对象中有一个属性,我正试图根据另一个属性更新该属性 如何实现每次更改原始属性时调用的方法Cocoa 每次更改核心数据MO中的另一个属性时重新计算属性,cocoa,core-data,Cocoa,Core Data,我在一个核心数据管理对象中有一个属性,我正试图根据另一个属性更新该属性 如何实现每次更改原始属性时调用的方法 awakeFromInsert和awakeFromFetch显然不起作用。 我见过,但我真的不明白我怎么能用它 非常感谢你走对了方向。假设您有两个属性:foo和bar,其中bar是基于foo计算的。为此,您需要实现+keypathsforvaluesafectingbar方法: + (NSSet *)keyPathsForValuesAffectingBar { return [
awakeFromInsert
和awakeFromFetch
显然不起作用。
我见过,但我真的不明白我怎么能用它
非常感谢你走对了方向。假设您有两个属性:
foo
和bar
,其中bar
是基于foo
计算的。为此,您需要实现+keypathsforvaluesafectingbar
方法:
+ (NSSet *)keyPathsForValuesAffectingBar {
return [NSSet setWithObject:@"foo"];
}
现在,每当foo
更改时,绑定到bar
的任何对象都会自动更新
显然,如果要缓存bar
的值,这不会有多大好处,因为实际上需要重新计算并重新设置它。但是,除非您正在进行一些严格的核心计算来确定bar
,否则每次调用-bar
方法时,您最好只计算bar