溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Xcode最好用的日志打印方法

發(fā)布時(shí)間:2020-07-17 17:48:09 來(lái)源:網(wǎng)絡(luò) 閱讀:590 作者:591XT_XYZ 欄目:移動(dòng)開(kāi)發(fā)

一般打印日志都是用的系統(tǒng)自帶的NSLog來(lái)打印的,假如項(xiàng)目做完了,要上線了,這些打印的日志就會(huì)很浪費(fèi)性能,網(wǎng)上有很多的解決辦法,我也是感覺(jué)網(wǎng)上的還是有點(diǎn)不方便,所以就自己又修改了一下,分享給大家。

網(wǎng)上的方法就是利用Debug狀態(tài)和Release狀態(tài)來(lái)控日志的輸出,如果是Debug狀態(tài)的話就輸出日志(就是NSLog的東西會(huì)打?。绻荝elease狀態(tài)的話就不用輸出日志(就是NSLog的東西不會(huì)打印。)所以上架的時(shí)候就需要調(diào)成Release就行了,就可以避免浪費(fèi)打印日志,節(jié)省性能,提高效率。

其實(shí)精髓只是在pch(如果不知道什么是pch的話請(qǐng)看這個(gè)鏈接:http://www.cnblogs.com/BK-12345/p/6074087.html)里面寫(xiě)了一段代碼就可以實(shí)現(xiàn)這個(gè)功能了,而我只是將這段代碼優(yōu)化了一下,感覺(jué)不錯(cuò)。

代碼如下:

 

//打印的日志
#ifdef DEBUG
#define YZLog(...) \
NSLog(@"%@第%d行:%@\n---------------------------",[[NSString stringWithFormat:@"%s",__FILE__] componentsSeparatedByString:@"/"][[[NSString stringWithFormat:@"%s",__FILE__] componentsSeparatedByString:@"/"].count-1], __LINE__, [NSString stringWithFormat:__VA_ARGS__]);
#else
#define YZLog(...)
#endif

 之前用NSLog的都可以改成YZLog就可以了,比如NSLog(@"測(cè)試");以后就可以寫(xiě)成YZLog(@"測(cè)試");,打印日志的時(shí)候,你就會(huì)發(fā)現(xiàn)多了兩個(gè)東西,第一個(gè)就是這個(gè)日志在哪個(gè)類(lèi)文件中,會(huì)把這個(gè)類(lèi)的名字打印出來(lái),還有一個(gè)就是在這個(gè)類(lèi)文件的第幾行,也會(huì)打印出來(lái),這樣的話一眼就看出來(lái)這個(gè)日志是在哪里寫(xiě)的,非常方便。

對(duì)比如圖:

 YZLog(@"測(cè)試");

Xcode最好用的日志打印方法

 

NSLog(@"測(cè)試");

 

Xcode最好用的日志打印方法

 

 

 

 

 

 

 

 

 


向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI