为了避免影响打包环境代码的执行效率,有些log语句是我们往往不想执行的,于是debug输出就可以解决这类问题。从Objective-C中我们知道,导入一个全局pch文件,并在文件写类似的宏定义就可以达到效果。
#ifdef DEBUG
# define DLog(fmt, ...) print((@"%s [Line %d] " fmt), __PRETTY_FUNCTION__, __LINE__, ## __VA_ARGS__);
#else
# define DLog(...)
#endif
然而这个方法在swift项目中可能会不太好使,swift的一个设计目标就是明确代码, 尽可能减少代码的混淆度, 这是为啥不支持宏的初衷, 毕竟, 宏很容易搞乱整个代码的原始结构. 所以我们得另辟蹊径。
1.在这里我们可以新建一个DeBugLog工具类,然后编写一个静态方法log。
2.配置工程环境,Build Setting -> Swift Compiler - Customer Flags -> Other Swift Flags 添加关键字“-D DEBUG”
3.接下来就可以愉快的debug输出了,