Как безопасно использовать свойство объекта, который только недавно появился в iOS? - PullRequest
0 голосов
/ 05 апреля 2011

Я хотел бы использовать disablesAutomaticKeyboardDismissal свойство на UIViewController , которое недавно появилось в iOS 4.3.

Как вы обрабатываете / проверяете ситуации, когда мое приложение запускалось в более ранней версии iOS, а это свойство недоступно?

Если бы это был селектор, я бы использовал RespondsToSelector: @selector (что-то) , но я не уверен, что делать со свойством.

Спасибо, ребята!

Ответы [ 2 ]

6 голосов
/ 05 апреля 2011

Свойство просто объявляет сеттеры и геттеры. В этом случае:

setDisablesAutomaticKeyboardDismissal:

и

disablesAutomaticKeyboardDismissal

Так что вы можете просто сделать:

if([object respondsToSelector:@selector(disablesAutomaticKeyboardDismissal)]) {
    // do your stuff here    
}
3 голосов
/ 05 апреля 2011

Продолжая ответ @ pt2ph8, свойство - это не более чем причудливый способ генерации методов (на этом уровне различия не важны).Наличие читаемого свойства означает, что экземпляры будут отвечать на селектор этого имени, и поэтому -respondsToSelector: является правильным тестом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...