как можно узнать, имеет ли NSObject определенное свойство?

Скажем, в Apple версия 1.0 API, существует класс NSFoo со свойством 'цвет'. API 1.1 добавляет свойство 'размер'.

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

[myFoo respondsToSelector:@selector (getSize)] не работает как ожидалось.

Что состоит в том, чтобы узнать корректный путь, имеет ли объект свойство?Спасибо!

13
задан strawtarget 17 June 2010 в 05:10
поделиться

1 ответ

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

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

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

36
ответ дан 1 December 2019 в 19:23
поделиться
Другие вопросы по тегам:

Похожие вопросы: