iPhone - responseToSelector возвращает NO, но метод реализован - PullRequest
0 голосов
/ 17 июня 2011

У меня есть класс, который объявляет и реализует это:

- (void) callbackme:(OneClass*)p1 error:(NSString*)errStr {

}

и вызывает метод экземпляра:

[self.obj oneAction:@"a string" sendAnswerToObject:self]; // obj is a custom class

в методе oneAction пользовательского класса. У меня есть:

- (void) oneAction:(NSString*)p1 sendAnswerToObject:(id)listener {

     if (listener != nil && ![listener respondsToSelector:@selector(callbackme::)]) 
             NSLog(@"Listener does not respond to selector 'callbackme:error:'");
}

NSLog запущен, и я не понимаю, почему?

Слушатель должен быть идентификатором, поскольку он может быть любым экземпляром объекта любого класса.

1 Ответ

5 голосов
/ 17 июня 2011

Ваш if должен быть

if (listener != nil && ![listener respondsToSelector:@selector(callbackme:error:)]

так же, как журнал, который вы создали.

...