iOS 调试日志信息清晰化

2015-02-02 21:15:40 · 作者: · 浏览: 21

介绍


Objective-C和C语言一样,提供了一些标准宏,描述了当前文件,所在源码文件的行数,以及函数信息。而Objective-C本身,也提供了相关的类类型。都可以应用在调试和错误处理日志当中。


预处理器在C/C++/Objective-C语言中提供的宏


*? __func__%s 当前函数签名
*? __LINE__ %d 在源代码文件中当前所在行数


*? __FILE__ %s 当前源代码文件全路径


*? __PRETTY_FUNCTION__ %s 像 __func__,但是包含了C++代码中的隐形类型信息。



在Objective-C使用的一些日志信息


?*? NSStringFromSelector(_cmd) %@ 当前selector名称
?*? NSStringFromClass([self class]) %@ 当前对象名
?*? [[NSString stringWithUTF8String:**FILE**] lastPathComponent] %@ 源代码文件名
?*? [NSThread callStackSymbols] %@ 当前stack的可读字符串数组。仅在调度时使用。


**例子代码:**