我希望能够为我项目中的所有类添加当前类名和方法名的跟踪消息。
有没有办法在运行时获取当前方法的名称,类似于:
NSLog(@"classname: %@", [self className]);
其中self是从NSObject派生的类?
答案 0 :(得分:35)
NSLog(@"method name: %@", NSStringFromSelector(_cmd));
_cmd
是所有Objective-C方法都接收的隐藏参数(如self
)。它的值是用于调用方法的选择器。
答案 1 :(得分:18)
EDITED: 我认为这种方法更通用...检查出来..
NSLog(@"%s", __PRETTY_FUNCTION__);
答案 2 :(得分:1)
这也有效:
NSLog(@"%@", [NSString stringWithUTF8String:__func__])