不确定我的标题最能描述我的问题,但想不出更好的!
我有 2 个托管对象,“事务”和“拆分”。Transaction 与“Split”具有一对多的关系,因此具有拆分对象的 NSSet。Split 有 2 个属性,Category (NSString) 和 Amount (NSDecimalNumber)。
一个事务有一个值,我目前通过迭代拆分对象的 NSSet 来计算它,并将所有“金额”属性相加。
这工作正常,我似乎没有任何性能问题,但我怀疑当你有 1000 个事务时这不会很好地扩展。
我认为我需要做的是在 Transaction 对象上拥有一个“Amount”属性(作为cahce)并每次更新它,并对包含在其 NSSet 中的“Split”对象之一的“Amount”属性进行更改.
希望我到目前为止有意义..
我的问题是实现这一目标的最佳方式?感觉就像是 KVO 的设计初衷,但我之前并没有真正使用过它。当其中一个拆分的“金额”值发生变化并因此可以重新计算其自己的值时,是否需要通知我的交易对象?
或者这应该在拆分中 Amount 属性的设置器中完成?
确定这是一个常见问题,并且存在一个非常优雅的解决方案吗?非常感谢任何建议和示例代码..?
干杯