[英]Regular expression for turning NSLogs on and off?
我有一個大型的Xcode項目,它有幾十個NSLog,有些已經注釋掉了。
Xcode中的查找/替換有一個正則表達式選項,所以如何讓它注釋掉所有活動的NSLog,其他查找/替換的方式可以再次打開它們。 所以,初始代碼是:
//NSLog(@"one");
NSLog(@"two");
在正則表達式找到/替換后變為:
//NSLog(@"one");
//**NSLog(@"two");
轉回來的是:
//NSLog(@"one");
NSLog(@"two");
有一個更好的解決方案。 把它放在你的prefix.pch文件中:
//disable logging when not in debug
#ifndef DEBUG
#undef NSLog
#define NSLog(args, ...)
#endif
當您的應用程序未處於調試模式時,這將禁用NSLog。 這樣您就不必從代碼中實際刪除它們,但它們不會對性能產生影響。
如果您想知道它是如何工作的,它會在未定義DEBUG宏時將NSLog()函數重新定義為空白。 默認情況下,DEBUG僅為調試項目定義。 如果您願意,只需用#if SOME_OTHER_CONDITION替換第一行,就可以將其更改為以不同的方式打開和關閉。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.