В простой подкласс UIViewController Я просто реализовал селектор в качестве обратного вызова для обновления пользовательского интерфейсаrespondsToSelector не может распознать реализованный селектор
-(void)afterfollowAction:(id)object{
//blabla
}
, но в конце концов я нашел respondsToSelector не может распознать его. Код испытания:
SEL callback = @selector(afterFollowAction:);
BOOL test1 = [self respondsToSelector:callback]; //NO
BOOL test2 = [self respondsToSelector:@selector(afterFollowAction:)]; //NO
BOOL test3 = [[self class] instanceMethodForSelector: @selector(afterFollowAction:)]; //YES
BOOL test4 = [self respondsToSelector:@selector(viewWillDisappear:)]; //YES
[self performSelector:callback withObject:nil]; //crash
test2 показывает не проблему локальной переменной CallBack, в
test4 показывает, что он знает, что это UIViewController и сам не ноль
test3 показывает на самом деле он знает, что селектор выполнен
но если вы вызываете его с «performSelector» это выбросить исключение «непризнанный селектор»
Я искал веб И я не делал ошибок с «:» или ноль;
Я помещаю объявление селектора в файл заголовка, но не использует его.
Я перезапустил Mac и iPhone, но это тот же результат.
Это простой класс, в котором я не повторно реализую responsesToSelector: селектор.
Итак, я неправильно использовал ответы на запрос? Я просто хочу сделать обратный вызов вне этого класса.
Окружающая среда: Mac OS X 10.11.3, Xcode 7.2.1, IOS 9.2.1
Update: найти (Cmd + F) без учета регистра скрыть F/F вопрос. Спасибо Киран!
вы добавили объявление функции в файле .h, а также ли? –
F находится в столице –