iOS調試技巧——編譯器預定義宏
我們都知道,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,方便我們偵錯工具,這個也算是編碼中的一個小技巧吧!