我們都知道,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,方便我們調試程序,這個也算是編碼中的一個小技巧吧!