免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項超值服

開通VIP
使用封裝的NSLog來打印調(diào)試信息
  使用NSLog的一個風(fēng)險是:它的運(yùn)行會占用時間和設(shè)備資源。

簡單而粗暴的解決方案是:在release前,將所有的NSLog注釋掉。簡單有效,但副作用是:下次你要調(diào)試時,又得將NSLog一個個取消注釋。


以release模式編譯的程序不會用NSLog輸出,而以debug模式編譯的程序?qū)?zhí)行NSLog的全部功能。


解決步驟:

  1. 修改<AppName>-Prefix.pch ,增加以下的宏代碼
    1. #ifdef DEBUG  
    2. # define DLog(fmt, ...) NSLog((@"[文件名:%s]\n" "[函數(shù)名:%s]\n" "[行號:%d] \n" fmt), __FILE__, __FUNCTION__, __LINE__, ##__VA_ARGS__);  
    3. #else  
    4. # define DLog(...);  
    5. #endif  
  2. 在程序中使用DLog來替換原來的NSLog
    1. DLog(@"當(dāng)前程序目錄是:%@", [self applicationDocumentsDirectory ]);  

  3. 修改項目的配置,使得在debug編譯的時候,編譯DLog的宏,產(chǎn)生詳細(xì)的日志信息,而release的時候,不產(chǎn)生任何控制臺輸出
    在Other Linker Flags 中,在debug的時候,加入編譯屬性 -DEBUG


    在Xcode 4.6.3 和 skd 6.1 的時候, "DEBUG"在 "Target > Build Settings > Preprocessor Macros > Debug" 里有一個"DEBUG=1"。進(jìn)行定義



  4. 這樣控制臺會顯示這樣的日志信息
    1. 2011-12-27 22:23:53.303 IManager[5449:b603] [文件名:/Users/roamer/Project/??Ωê≥∞?ê???a/?ê·‰∏?èé?á?°áêüiphone/IManager/IManager/AppDelegate.m]  
    2. [函數(shù)名:-[AppDelegate application:didFinishLaunchingWithOptions:]]  
    3. [行號:37]   
    4. 當(dāng)前程序目錄是:/Users/roamer/Library/Application Support/iPhone Simulator/4.3.2/Applications/6B0E7B08-5528-468A-B728-0C4580805368/Documents  

    補(bǔ)充:

      1) __VA_ARGS__ 是一個可變參數(shù)的宏,很少人知道這個宏,這個可變參數(shù)的宏是新的C99規(guī)范中新增的,目前似乎只有g(shù)cc支持(VC6.0的編譯器不支持)。宏前面加上##的作用在于,當(dāng)可變參數(shù)的個數(shù)為0時,這里的##起到把前面多余的","去掉的作用,否則會編譯出錯, 你可以試試。
      2) __FILE__ 宏在預(yù)編譯時會替換成當(dāng)前的源文件名
      3) __LINE__宏在預(yù)編譯時會替換成當(dāng)前的行號
      4) __FUNCTION__宏在預(yù)編譯時會替換成當(dāng)前的函數(shù)名稱




本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊舉報
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
IOS項目打包除去NSLog和NSAssert處理之阿堂教程
iOS開發(fā) NSLog使用
 #define new DEBUG
iOS深入學(xué)習(xí):華麗的#define
Debug和Release編譯方式的本質(zhì)區(qū)別
vc下debug 版本和release版本的區(qū)別
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服