KVO和NSMutableArray

时间:2011-08-02 15:07:24

标签: objective-c cocoa key-value-observing

如何使用NSMutableArray设置KVO(键值观察)?

我希望在数组中出现更改时收到通知。我之前从未使用KVO和类似数组的集合。

2 个答案:

答案 0 :(得分:9)

我想你会对this question的答案感兴趣。

关键是您无法直接观察阵列上的任何属性 - 阵列只是存储 - 但您可以观察该阵列支持的多对多关系(这里是我'假设你的数组是某个对象的某个属性。)

如果您不想在整个地方使用这些特殊访问者,那么拥有该数组的代码可以调用

-willChange:valuesAtIndexes:forKey:

-didChange:valuesAtIndexes:forKey:

this answer中所述。

如果您使用的是Mac而不是iOS,则应考虑NSArrayController

答案 1 :(得分:0)

您可以使用KVOMutableArray。 它是NSMutableArray的子​​类,它支持KVO。

免责声明:我是作者:)