不直接用NSLog
公司中不直接使用NSLog,而是利用宏定义自己的打印函数,将该打印函数写在项目的.pch文件中.调试的时候往往用到好多打印,但发布的时候确不需要.(一下是在公司中的一些处理)
一,固定写法:
#define MYLog(...) NSLog(__VA_ARGS__)
二,注意:
1,MYLog括号中的...是固定写法,表示可以接受任意多个参数.
2,NSLog括号中的__VA_ARGS__ 也是固定写法,前后用了两个下划线
三,使用方式:
项目中Supporting files文件夹下有个 "工程名-Prefix.pch"文件,你可以在该文件下声明
#define MYLog(...) NSLog(__VA_ARGS__)
这样之后工程中的任何一个文件中都可以使用改自定的打印函数(也就是说可以在该.pch中放一些全局的东西)
四,好处:
这样使用的好处就是,项目调试期间,我们可能会用到好多MYLog()函数打印.
如果不需要时,只需将.pch中该宏修改为:(这样就相当于MYLog()代表的是注释了)
#define MYLog(...) //NSLog(__VA_ARGS__)
五,修改:(这样做还不够智能,每次调试的时候需要用到打印,发布的时候不需要打印还要手动修改一下)
其实系统提供了一个宏 DEBUG 表示在调试状态下
因为上述代码可以优化为: (下述代码是公司常用代码)
1
2
3
4
5
|
#ifdef DEBUG //调试阶段 #define MYLog(...) NSLog(__VA_ARGS__) #else //发布阶段 #define MYLog(...) #endif |
如果一件事情你觉得难的完不成,你可以把它分为若干步,并不断寻找合适的方法。最后你发现你会是个超人。不要给自己找麻烦,但遇到麻烦绝不怕,更不要退缩。
电工查找电路不通点的最快方法是:分段诊断排除,快速定位。你有什么启示吗?
求知若饥,虚心若愚。
当你对一个事情掌控不足的时候,你需要做的就是“梳理”,并制定相应的规章制度,并使资源各司其职。