Objective-C中的Debug表達(dá)式

Objective-CC語言一樣,提供了一些標(biāo)準(zhǔn)宏,描述了當(dāng)前文件,所在源碼文件的行數(shù),以及函數(shù)信息。而Objective-C本身,也提供了相關(guān)的類類型。都可以應(yīng)用在調(diào)試和錯(cuò)誤處理日志當(dāng)中。
預(yù)處理器在C/C++/Objective-C語言中提供的宏。

 %s  __func__ 當(dāng)前函數(shù)名
 %d  __LINE__ 在源代碼文件中當(dāng)前所在行數(shù)
 %s  __FILE__ 當(dāng)前源代碼文件全路徑   
 %s __PRETTY_FUNCTION__  像 __func__,但是包含了C++代碼中的隱形類型信息。

在Objective-C使用的一些日志信息

 %@  NSStringFromSelector(_cmd)  當(dāng)前selector名稱
 %@  NSStringFromClass([self class]) 當(dāng)前對(duì)象名
 %@  [[NSString stringWithUTF8String:**FILE**] lastPathComponent]源代碼文件名
 %@  [NSThread callStackSymbols]  當(dāng)前stack的可讀字符串?dāng)?shù)組。僅在調(diào)度時(shí)使用。

示例代碼:

#import <foundation /Foundation.h>  
  
@interface Person : NSObject  
- (void) run;  
@end  
  
@implementation Person  
- (void) run:{  
    NSLog(@"%s:%d:%s:%s", __func__, __LINE__, __FILE__,__PRETTY_FUNCTION__);  
    NSLog(@"%@",NSStringFromSelector(_cmd));  
    NSLog(@"%@",NSStringFromClass([self class]));  
    NSLog(@"%@",[[NSString stringWithUTF8String:__FILE__] lastPathComponent]);  
    NSLog(@"%@",[NSThread callStackSymbols]);  
    NSLog(@"%@",input);}  
 @end  
  
int main (int argc, const char * argv[]){  
    @autoreleasepool {  
        Person *p1 = [[Person alloc]init];  
        [p1 run];         
    }      
    return 0;  
}  
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 發(fā)現(xiàn) 關(guān)注 消息 iOS 第三方庫、插件、知名博客總結(jié) 作者大灰狼的小綿羊哥哥關(guān)注 2017.06.26 09:4...
    肇東周閱讀 15,839評(píng)論 4 61
  • Swift版本點(diǎn)擊這里歡迎加入QQ群交流: 594119878最新更新日期:18-09-17 About A cu...
    ylgwhyh閱讀 26,328評(píng)論 7 249
  • 簡要心得:平臺(tái)猶如高鐵,能瞬間將朝同一方向努力、奔跑的拋開。 1.投胎的家庭。普通人家猶如跑步,自個(gè)努力吧,富裕家...
    babywolf閱讀 1,320評(píng)論 0 1
  • 昨晚吃完飯洗了個(gè)頭出去散步,地鐵坐到新天地,從新天地開始逛,發(fā)現(xiàn)那邊正好有市集不過收攤了,果然是每天出去仔細(xì)觀察生...
    華麗叛逆閱讀 278評(píng)論 0 0
  • 升級(jí)了macOS Sierra上XAMPP就沒法運(yùn)行了, 啟動(dòng)Apache和MySQL的時(shí)候都會(huì)碰到這樣的錯(cuò)誤 我...
    babesamhsu閱讀 563評(píng)論 0 0

友情鏈接更多精彩內(nèi)容