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