假设我有一个实体BikeRider
,其关系属性名为helmets
.
我有一个数组控制器绑定到应用程序的托管对象上下文,实体设置为BikeRider
. 有一个表格视图列出了所有骑自行车的人。
然后,我有第二个数组控制器,绑定到应用程序的托管对象上下文,实体设置为Helmet
. 此外,它必然会bikeRiderArrayController.selection
. 第二个表格视图列出了所选自行车骑手的所有头盔。
我还有两个用于添加和移除头盔的按钮。该设置显然完美无缺。
当然,除了一件小事:它看起来像-addHelmetsObject:
, -removeHelmetsObject:
,-addHelmets:
并且-removeHelmets:
永远不会被调用。这意味着一些用于设置每个头盔color
属性观察的代码永远不会被调用。
我错过了什么?是否覆盖addHelmets:
et al(带有适当的willChangeValueForKey:
et al 通知)是获取添加通知的正确方法?
我是否真的必须 [self observeValueForKey:@"helmets". . .]
然后[oldValue minusSet:newValue]
反之亦然才能确定添加或删除了哪些对象?我可以发誓这些方法在过去被正确调用。也许设置的某些关键元素现在不同了。