objective-c - 您如何获得 KVO 的可观察键路径列表?

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

如果我有某个类的实例,例如 UIView 或其子类,或者只是 NSObject 的一个简单子(monad)类,我如何才能获得该对象的可观察键路径列表?

我想获取对象的有效 keyPath 值列表,以便在 addObserver 方法中使用它们。

最佳答案

您无法获得对象的 kvo 兼容键的完整列表。不存在这样的列表。该对象不仅可以自由使用它想要的任何键,而且它甚至可以在运行时动态添加新键。您可能能够做的最好的事情是遍历所有属性,将它们的名称视为键,并且可能遍历方法以查找 -setFoo: 形式的任何内容来处理“foo “作为关键。但这并非万无一失,也不能保证捕获所有内容。

关于objective-c - 您如何获得 KVO 的可观察键路径列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4371399/

相关文章:

iphone - 如何创建自定义的垂直滚动选择器?

objective-c - 当 NSLog'd 时,子类 NSManagedObject 不会调用描述

ios - 小数点不能用逗号进行数学运算。需要点

cocoa-touch - 在 ASINetworkQueue 中使用 UIProgressView 为 ASIHTTPRequest 显示准确的进度

iphone - 从后台任务调用 -setNeedsDisplay 是否会带来麻烦?

objective-c - KVO可以用来观察一个全局变量吗?

ios - observeValueForKeyPath 没有被调用

ios 在两个 uiscrollview 之间移动触摸事件

ios - 使用 UIGestureRecogniser 子类化时未调用 Touches Ended

swift - 如何在 RxSwift 中观察数组属性变化