KVO和NSMutableArray

问题描述 投票:10回答:2

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

我希望在数组中出现更改时收到通知。我之前从未使用过像阵列那样的KVO。

objective-c cocoa key-value-observing
2个回答
9
投票

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

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

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

-willChange:valuesAtIndexes:forKey:

-didChange:valuesAtIndexes:forKey:

this answer所述。

如果你使用的是Mac而不是iOS,你应该考虑使用NSArrayController


0
投票

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

免责声明:我是作者:)

© www.soinside.com 2019 - 2024. All rights reserved.