在iOS开发过程中,有很多调试方法,例如:
断点调试(普通断点、条件断点、全局断点)之外,NSLog是我们调试最常用的方法
常用的NSlog打印各种字符数据:
NSLog(@"打印字符串:%@",name);
NSLog(@"打印整形:%i",number);//或者 %li ; %ld ; %d
NSLog(@"打印字符:%c",c);
NSLog(@"打印单浮点数:%f",f);
NSLog(@"打印精度浮点数:%.2f",f);
NSLog(@"BOOL--b-->%@",isYES?@"YES":@"NO");//打印布尔类型
利用编译器预处理器在C/C++/objective-C的宏,打印特殊日志:
__func__ | %s | 打印当前函数名 |
__LINE__ | %d | 源码文件中的行号 |
__FILE__ | %s | 源码文件完整路径 |
__PRETTY_FUNCTION__ | %s | 和__func__ 类似, 但是在 C++ 代码中包含更多的信息. |
日志输出表达式:
- NSStringFromSelector(_cmd) %@ 当前选择器的名字
- NSStringFromClass([self class]) %@ 当前对象类的名字
- [[NSString stringWithUTF8String:
__FILE__
] lastPathComponent] %@ 源码文件的名称 - [NSThread callStackSymbols] %@ 当前栈信息的刻度字符串数组。