Как вы можете узнать, имеет ли NSObject определенное свойство?
Скажем, в Apple API версии 1.0 существует класс NSFoo с свойством 'color'. API 1.1 добавляет свойство "размер".
Я хочу знать, могу ли я использовать getter: myFoo.size
[myFoo отвечаетSoSelector: @selector (getSize)] работает не так, как ожидалось.
Каков правильный способ узнать, имеет ли объект свойство? Спасибо!
Ответы
Ответ 1
Ты близко. Ваш селектор должен быть точно сообщением, которое вы хотите отправить объекту:
if ( [myFoo respondsToSelector:@selector(size)] ) {
int size = [myFoo size]; // or myFoo.size in dot-notation.
// ...
}
должен работать.