加入收藏 | 设为首页 | 会员中心 | 我要投稿 江门站长网 (https://www.0750zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 教程 > 正文

Objective-C Log日志提高 预定义宏实施

发布时间:2021-11-21 21:26:17 所属栏目:教程 来源:互联网
导读:使用NSLog记录日志是很方便的操作,但是有时候也希望能够像C/C++编程一样使用一些预定义的宏,比如获取当前文件名、行号等,在XCode中其实也有这样的功能。 XCode的c预处理器提供了一些标准宏,另外Objective-C语言还提供了隐含的_cmd参数,可以用来获取当前
使用NSLog记录日志是很方便的操作,但是有时候也希望能够像C/C++编程一样使用一些预定义的宏,比如获取当前文件名、行号等,在XCode中其实也有这样的功能。
 
XCode的c预处理器提供了一些标准宏,另外Objective-C语言还提供了隐含的_cmd参数,可以用来获取当前方法的selector,以及将selector与class转换为字符串的函数。
 
可以在NSLog中使用这些宏及函数来增强日志功能。
 
能够在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] %@ 返回当前调用栈信息
注意:Log尽量不要让最终用户可以看到,防止敏感信息泄露。

(编辑:江门站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读