Так что я использую respondsToSelector:
и большую часть времени он отлично работает. Но есть один случай, которым я получаю неправильный результат:отвечаетSoSelector возвращает YES для «setTitle:» на UIButton, но такого селектора нет
UIButton* button = [[UIButton alloc] init];
if([button respondsToSelector:NSSelectorFromString(@"setTitle:")]) // returns YES
{
// try to call "setTitle:"
}
respondsToSelector:
возвращает YES, но нет никаких setTitle:
селектора в классе UIButton. Существует setTitle:forState:
селектор, но это определенно не то же самое.
Почему respondsToSelector:
возвращает ДА?
откликается на селектор не только проверить открытый интерфейс, он будет принимать какой-либо метод, который он может найти. Это не значит, что вы должны использовать его таким образом. Почему вы его используете? – Wain
@Wain, 'Ответ на селектор не просто проверяет публичный интерфейс' Ну, это был бы ответ ... Отправьте его, и я проверю его как правильный. Спасибо) – Alexandr