1、print和debugPrint
2、Log输出
1、print和debugPrint
- 默认情况下对于一个普通对象,我们在调用print对其进行打印时只能打印出它的类型。对于struct来说,情况好一些。会列举出他所有成员的名字和值。
- 可以在自定义的类中通过extension,遵守CustomStringConvertible,来自定义print对象时的输出内容。也可以通过在extension中遵守CustomDebugStringConvertible,自定义在调试的时候在调试窗口通过po命令打印对象时输出的内容。
2、Log输出
- 在Swift中,编译器为我们准备了几个很有用的编译符号。
符号 | 类型 | 描述 |
---|---|---|
#file | String | 包含这个符号的文件的路径 |
#line | Int | 符号出现处的行号 |
#column | Int | 符号出现处的列 |
#function | String | 包含这个符号的方法名字 |
func printLog<T>(message: T, file: String = #file, method: String = #function, line: Int = #line) {
//使用条件编译的方法,我们可以添加条件,并设置合适的编译配置,
//使printLog的内容在Release时被去掉,从而成为一个空方法
#if DEBUG
print(“\((file as NSString).lastPathComponent)[\(line)], \(method): \(message)”)
#endif
}