您好,登錄后才能下訂單哦!
一般打印日志都是用的系統(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è)試");
NSLog(@"測(cè)試");
免責(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)容。