如何知道某个类是否符合某个属性的KVO?

时间:2014-09-03 20:08:55

标签: ios key-value-observing

我想在UIView的房产上使用KVO,但我不知道它是否合规。 以“隐藏”财产为例。

我去了UIView类的头文件,找不到指示,我也去了这个属性的文档。有人谈到“检查参考文献是否合规”他在谈论什么参考文献?

1 个答案:

答案 0 :(得分:3)

听起来他们在这里(或相当模糊地)引用了KVC合规性文档:

https://developer.apple.com/library/ios/documentation/Cocoa/Conceptual/KeyValueCoding/Articles/Compliant.html#//apple_ref/doc/uid/20002172

具体来说,您需要查看该类是否响应给定键的valueForKey:setValue:forKey:。关于如何实际检查合规性,文档是多余的。我的第一个想法是将你的代码包装在try / catch块中,并捕获异常,但考虑到通常会抛出异常,这可能不会起作用。

一般的假设是UIKit中的大多数对象都符合 NOT KVO,如果你需要它们,你可以继承并实现它。你可以在这里看到一个非常相似的问题/重复,以及Apple框架传播者Dave Delong的回答:iOS: How do I know if a property is KVO-compliant?