概述
我们都知道,Objective-C是C语言的超集,必然保留了C语言的一些特性。今天我们就利用这些编译器预定义的宏来输出一些信息,以达到调试程序的目的。
这些宏包括:
(1)__FUNCTION__ ://获取当前方法名;
(2)__func__ ://获取当前方法名;
(3)__PRETTY_FUNCTION__ ://获取当前方法名;
(4)__LINE__ ://获取当前所在行;
(5)__FILE__ ://获取该文件的绝对路径;
(6)__DATE__ ://获取当前日期;
(7)__TIME__ ://获取当前时分秒;
(8)__TIMESTAMP__ ://获取当前时间戳;
示例代码如下:
#import "SecondViewController.h"
@interface SecondViewController ()
@end
@implementation SecondViewController
- (void)viewDidLoad {
[super viewDidLoad];
//获取类名(文件名);
NSString *className = NSStringFromClass([self class]);
NSLog(@"类名--------%@",className);
//获取当前方法名;
NSLog(@"%s",__FUNCTION__);
//获取当前方法名;
NSLog(@"%s",__func__);
//获取当前方法名;
NSLog(@"%s",__PRETTY_FUNCTION__);
//获取当前所在行;
NSLog(@"%d",__LINE__);
//获取该文件的绝对路径;
NSLog(@"%s",__FILE__);
//获取当前日期;
NSLog(@"%s",__DATE__);
//获取当前时分秒;
NSLog(@"%s",__TIME__);
//获取当前时间戳;
NSLog(@"%s",__TIMESTAMP__);
}
@end
输出结果如下:
。
总结,使用这些预定义宏可以快速的在需要的位置打印log,方便我们调试程序,这个也算是编码中的一个小技巧吧!
github主页:https://github.com/chenyufeng1991 。欢迎大家访问!
最近极客学院Wiki正在进行IT职业技能图谱的制定,我主要负责iOS方向,大家感兴趣的可以一起参加,有问题或者修改可以直接给我发issues或者pull request。https://github.com/chenyufeng1991/skillmap 。
最后
以上就是如意西装为你收集整理的iOS调试技巧——编译器预定义宏的全部内容,希望文章能够帮你解决iOS调试技巧——编译器预定义宏所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复