我想使用最近在iOS 4.3中引入的 UIViewController 上的 disablesAutomaticKeyboardDismissal 属性。
如何处理/检查早期版本的iOS运行我的应用程序并且此属性不可用的情况?
如果它是一个选择器,我会使用 respondsToSelector:@selector(something),但我不知道该怎么做一个属性。
谢谢大家!
答案 0 :(得分:6)
一个属性只是声明了setter和getter。在这种情况下:
setDisablesAutomaticKeyboardDismissal:
和
disablesAutomaticKeyboardDismissal
所以你可以这样做:
if([object respondsToSelector:@selector(disablesAutomaticKeyboardDismissal)]) {
// do your stuff here
}
答案 1 :(得分:3)
继续@ pt2ph8的回答,一个属性只不过是一种生成方法的奇特方式(这个级别的差异并不重要)。可读属性的存在意味着实例将响应该名称的选择器,因此-respondsToSelector:
是正确的测试。