您好,登錄后才能下訂單哦!
一般打印日志都是用的系統自帶的NSLog來打印的,假如項目做完了,要上線了,這些打印的日志就會很浪費性能,網上有很多的解決辦法,我也是感覺網上的還是有點不方便,所以就自己又修改了一下,分享給大家。
網上的方法就是利用Debug狀態和Release狀態來控日志的輸出,如果是Debug狀態的話就輸出日志(就是NSLog的東西會打印),如果是Release狀態的話就不用輸出日志(就是NSLog的東西不會打印。)所以上架的時候就需要調成Release就行了,就可以避免浪費打印日志,節省性能,提高效率。
其實精髓只是在pch(如果不知道什么是pch的話請看這個鏈接:http://www.cnblogs.com/BK-12345/p/6074087.html)里面寫了一段代碼就可以實現這個功能了,而我只是將這段代碼優化了一下,感覺不錯。
代碼如下:
//打印的日志 #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(@"測試");以后就可以寫成YZLog(@"測試");,打印日志的時候,你就會發現多了兩個東西,第一個就是這個日志在哪個類文件中,會把這個類的名字打印出來,還有一個就是在這個類文件的第幾行,也會打印出來,這樣的話一眼就看出來這個日志是在哪里寫的,非常方便。
對比如圖:
YZLog(@"測試");
NSLog(@"測試");
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。