iOSの「NSLog」マクロ

661 ワード

iOSアプリケーションの開発でログ情報を出力するためにログ(...)を使用すると、アプリケーションのリリース時にNSLog文を一度に削除できます(デバッグモードではDEBUGが定義されています)
#ifndef PrefixHeader_pch
#define PrefixHeader_pch

//    #ifdef          OC        
//   ,     C/C++        ,    !
#ifdef __OBJC__

#ifdef DEBUG //     -DEBUG  :  NSLog
#define NSLog(fmt,...) NSLog((@"%s [Line %d] " fmt),__PRETTY_FUNCTION__,__LINE__,##__VA_ARGS__)
#else //     -    : Edit Scheme  Build Configuration Release
#define NSLog(...)

#endif

#endif /* PrefixHeader_pch */


ここでなぜログ名をカスタマイズするのか、NSLogを使うのか.原因は三つある.NSLogを使うことに慣れています.NSLogを使うと問題があるのではないかと思っているかもしれません.実は問題ありません.私たちがカスタマイズしたマクロの優先度はもっと高くなります.install B