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