[英]Prepend NSLog to all methods in Objective-C
是否可以配置一个类,以便每个方法调用:
"NSLog(@"%s", __PRETTY_FUNCTION__);"
在执行之前?
例如,给定:
@implementation myClass
- (void) methodA {
NSLog(@"Do something in method A");
}
- (void) methodB {
NSLog(@"Do something in method B");
}
@end
[myClass methodA]的输出为:
“-[myClass methodA]”
“用方法A做某事”
代替:
“用方法A做某事”
谢谢。
有很多聪明的方法可以做到这一点,但是假设这只是为了调试您编写的类,并且有太多的方法可以手工完成,为什么不只使用Find&Replace?
注意:您的左括号在代码行的末尾,您显示以下内容使用该代码,如果您更改样式,则需要更改正则表达式。
在Xcode中,确保模式匹配已打开:单击搜索输入框左侧的放大镜,选择“ Edit Find Options...
,然后将“ Matching Style
设置为“ Regular Expression
现在在搜索字段中输入:
^-[^{]+\{
可以匹配:行( ^
),破折号( -
),不是大括号( [^{]
)一次或多次( +
),最后是大括号( \\{
)。
进行一些搜索以确保它与您的想法匹配。 然后在“替换”字段中输入:
\0 NSLog(@"%s", __PRETTY_FUNCTION__);
它将替换匹配的内容( \\0
),然后替换您的NSLog
调用。
可以类似地完成该过程的逆转,这只是练习。
高温超导
我已经专门为此类事情创建了一个库。 在GitHub上查看Xcode Logger 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.