2014-09-03 74 views
1

我想对UIView的属性声明使用KVO,但我不知道它是否符合规范。例如 以“隐藏”属性为例。如何知道某个类是否符合某个特定的KVO?

我去了UIView类的头文件,并找不到指示,我也去了这个属性的文档。有人谈到“检查引用符合性”他谈论的是什么引用?

回答

2

这听起来像他们指(而隐约)这里的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中的大多数对象都是而不是 KVO兼容,如果您需要它们,您可以继承并实现它。你可以在这里看到一个非常类似的问题/重复,从戴夫德龙,苹果框架福音传递的答案:iOS: How do I know if a property is KVO-compliant?

+0

是的,我已经读过这个问题,但我正在寻找一种方法来告诉如果属性是KVC而不是通过代码尝试它,并看看它是否有效。我怀疑有一种方法可以更快地检测到它。 – LolaRun 2014-09-03 21:38:48

相关问题