簡體   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