как узнать, имеет ли NSObject определенное свойство? - PullRequest
13 голосов
/ 17 июня 2010

Допустим, в Apple API версии 1.0 есть класс NSFoo со свойством 'color'.API 1.1 добавляет свойство 'size'.

Я хочу знать, могу ли я использовать метод получения: myFoo.size

[myFoo responsedsToSelector: @selector (getSize)] не работает должным образом.

Как правильно определить, есть ли у объекта свойство?Спасибо!

1 Ответ

36 голосов
/ 17 июня 2010

Ты рядом. Ваш селектор должен быть именно тем сообщением, которое вы хотите отправить объекту:

if ( [myFoo respondsToSelector:@selector(size)] ) {
    int size = [myFoo size]; // or myFoo.size in dot-notation.
    // ...
}

должно работать.

...