如何使用NSMutableArray
设置KVO(键值观察)?
我希望在数组中出现更改时收到通知。我之前从未使用KVO和类似数组的集合。
答案 0 :(得分:9)
我想你会对this question的答案感兴趣。
关键是您无法直接观察阵列上的任何属性 - 阵列只是存储 - 但您可以观察该阵列支持的多对多关系(这里是我'假设你的数组是某个对象的某个属性。)
如果您不想在整个地方使用这些特殊访问者,那么拥有该数组的代码可以调用
-willChange:valuesAtIndexes:forKey:
和
-didChange:valuesAtIndexes:forKey:
如this answer中所述。
如果您使用的是Mac而不是iOS,则应考虑NSArrayController
。
答案 1 :(得分:0)
您可以使用KVOMutableArray。 它是NSMutableArray的子类,它支持KVO。
免责声明:我是作者:)