繁体   English   中英

将NSLog附加到Objective-C中的所有方法

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM