一,固定寫法:函數
#define MYLog(...) NSLog(__VA_ARGS__)優化
二,注意:spa
1,MYLog括號中的...是固定寫法,表示能夠接受任意多個參數.調試
2,NSLog括號中的__VA_ARGS__ 也是固定寫法,先後用了兩個下劃線code
三,使用方式:class
項目中Supporting files文件夾下有個 "工程名-Prefix.pch"文件,你能夠在該文件下聲明
file
#define MYLog(...) NSLog(__VA_ARGS__)項目
這樣以後工程中的任何一個文件中均可以使用改自定的打印函數(也就是說能夠在該.pch中放一些全局的東西)
註釋
四,好處:di
這樣使用的好處就是,項目調試期間,咱們可能會用到好多MYLog()函數打印.
若是不須要時,只需將.pch中該宏修改成:(這樣就至關於MYLog()表明的是註釋了)
#define MYLog(...) //NSLog(__VA_ARGS__)
五,修改:(這樣作還不夠智能,每次調試的時候須要用到打印,發佈的時候不須要打印還要手動修改一下)
其實系統提供了一個宏 DEBUG 表示在調試狀態下
由於上述代碼能夠優化爲: (下述代碼是公司經常使用代碼)
#ifdef DEBUG //調試階段 #define MYLog(...) NSLog(__VA_ARGS__) #else //發佈階段 #define MYLog(...) #endif