【发布时间】:2023-03-19 03:41:02
【问题描述】:
如何使用NSMutableArray 设置 KVO(键值观察)?
我希望在数组中出现更改时收到通知。我以前从未将 KVO 用于数组之类的集合。
【问题讨论】:
标签: objective-c cocoa key-value-observing
如何使用NSMutableArray 设置 KVO(键值观察)?
我希望在数组中出现更改时收到通知。我以前从未将 KVO 用于数组之类的集合。
【问题讨论】:
标签: objective-c cocoa key-value-observing
我想你会对this question 的答案感兴趣。
关键是你不能直接观察数组上的任何属性——数组只是存储——但是你可以观察到由该数组支持的多对多关系(这里我' m 假设您的数组是某处对象的属性)。
如果你不想到处使用那些特殊的访问器,你拥有数组的代码可以调用
-willChange:valuesAtIndexes:forKey: 和
-didChange:valuesAtIndexes:forKey:
如this answer 中所述。
如果您使用的是 Mac 而不是 iOS,则应考虑使用NSArrayController。
【讨论】:
您可以使用KVOMutableArray。 它是 NSMutableArray 的子类,支持 KVO。
免责声明:我是作者 :)
【讨论】: