Ответ 1
NSLog(@"method name: %@", NSStringFromSelector(_cmd));
_cmd
- скрытый аргумент (например, self
), который получают все методы Objective-C. Его значение - это селектор, который использовался для вызова метода.
Я хотел бы иметь возможность отправлять сообщения трассировки текущего имени класса и имени метода для всех классов в моем проекте.
Есть ли способ получить имя текущего метода во время выполнения, аналогично:
NSLog(@"classname: %@", [self className]);
где self - класс, полученный из NSObject?
NSLog(@"method name: %@", NSStringFromSelector(_cmd));
_cmd
- скрытый аргумент (например, self
), который получают все методы Objective-C. Его значение - это селектор, который использовался для вызова метода.
Редакция: Я думаю, что этот метод более общий... проверьте его.
NSLog(@"%s", __PRETTY_FUNCTION__);
Это также работает:
NSLog(@"%@", [NSString stringWithUTF8String:__func__])