一,固定写法:函数
#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