OC自定義日志 (Log)
只在debug的時(shí)候輸出, release的時(shí)候不輸出
#ifndef DEBUG
#define NSLog(...)
#endif
輸出時(shí), 輸出函數(shù)(方法)名及行數(shù)
//類名及函數(shù)(方法)名
NSLog(@"%s", __func__);
NSLog(@"%s",__FUNCTION__);
NSLog(@"%s",__PRETTY_FUNCTION__);
//行數(shù)
NSLog(@"%d",__LINE__);
但是每次要寫這些, 覺得很麻煩, 可以直接定義如下:
#ifdef DEBUG
#define DLog(fmt, ...) NSLog((@"%s [Line %d] " fmt), __PRETTY_FUNCTION__, __LINE__, ##__VA_ARGS__)
#else
#define DLog(...)
#endif
只需要用 DLog(...) 就可以在輸出需要信息的同時(shí), 還輸出所在類、 函數(shù)(方法)名以及行數(shù)。 在項(xiàng)目文件很多的時(shí)候, 有時(shí)候各種NSLog()內(nèi)容很多很雜, 分不清各個(gè)NSLog()到底寫在哪里, 可以用這種方法很快找到輸出所在的位置, 很方便吧. (建議直接寫進(jìn) .pch 文件中)
上面是看Stack Overflow上很多人推薦的 (個(gè)人也推薦上面的寫法)
下面是看傳智的視頻學(xué)的,DLog(...)輸出的同時(shí)可以輸出所在的類名和方法名
#ifdef DEBUG
#define DLog(...) NSLog(@"%s\n %@\n\n", __func__, [NSString stringWithFormat:__VA_ARGS__])
#else
#endif