当我想查看对象方法调用的顺序时,我必须像这样记录我实现的每个方法。
- (void)updateTime:(float)time
{
NSLog(@"%s", __PRETTY_FUNCTION__);
因此我必须把这段代码放在类的每个方法中,每次调试类时插入和删除这么多日志函数调用是非常无聊的。
那么我该如何触发NSLog(@"%s", __PRETTY_FUNCTION__);
在每个方法调用的类中?
Edit:
我最终得到了这段代码。并且在其他地方没有得到答复。
- (BOOL)respondsToSelector:(SEL)aSelector {
if(aSelector){
NSLog(@"%@", NSStringFromSelector(aSelector));
}
return [super respondsToSelector:aSelector];
}
您可以运行您的可执行文件NSObjCMessageLoggingEnabled=YES
。您可以在 Xcode 方案中的“运行”下的“参数变量”下进行设置。
你最终会得到类似的输出
+ NSObject NSObject initialize
+ NSNotificationCenter NSObject initialize
+ NSNotificationCenter NSNotificationCenter defaultCenter
更多信息here http://www.dribin.org/dave/blog/archives/2006/04/22/tracing_objc/, and here https://www.omnigroup.com/blog/More_objc_method_tracing
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)