Подтвердить что ты не робот

Есть ли способ распечатать действие SEL?

Например, я хочу отслеживать действия, отправленные на мой canPeformAction, и их слишком много, чтобы отображать в каждом случае "зависание" в отладчике. Поэтому я хочу отслеживать журнал и проверять его после моего тестового цикла.

- (BOOL)canPerformAction:(SEL)action withSender:(id)sender {
    NSLog(@"%s: sender=%@", __FUNCTION__, sender, action);
}
4b9b3361

Ответ 1

Вы хотите

NSLog(@"%s: sender=%@, selector=%s", __FUNCTION__, sender,sel_getName(action));

Ответ 2

Используйте NSStringFromSelector, чтобы легко получить печатное имя селектора.

NSStringFromSelector(action)

NSString * NSStringFromSelector ( SEL aSelector );

Возвращает строковое представление заданного селектора.

- (BOOL)canPerformAction:(SEL)action withSender:(id)sender {
    NSLog(@"Action: %@", NSStringFromSelector(action));
}