Objective-C紀錄檔處理


為了列印紀錄檔,可使用Objective-C程式設計語言中的NSLog方法,首先在HelloWorld範例中使用了這個方法。

下面來看一下列印「Hello World」字樣的簡單程式碼 -

#import <Foundation/Foundation.h>

int main() {
   NSLog(@"Hello, World! \n");
   return 0;
}

現在,當編譯並執行程式時,將得到以下結果 -

2018-11-15 09:53:09.761 main[22707] Hello, World!

在實時應用程式中禁用紀錄檔

由於在應用程式中經常使用NSLog,它將紀錄檔資訊列印在裝置的紀錄檔中,並且在實時構建中列印紀錄檔是不好的。 因此,使用型別定義來列印紀錄檔,如下所示。

#import <Foundation/Foundation.h>

#define DEBUG 1

#if DEBUG == 0
#define DebugLog(...)
#elif DEBUG == 1
#define DebugLog(...) NSLog(__VA_ARGS__)
#endif

int main() {
   DebugLog(@"Debug log, our custom addition gets \
   printed during debug only" );
   NSLog(@"NSLog gets printed always" );     
   return 0;
}

執行上面範例程式碼,得到以下結果:

2018-11-15 09:50:28.903 main[11115] Debug log, our custom addition gets printed during debug only
2018-11-15 09:50:28.903 main[11115] NSLog gets printed always

現在,當在發布模式下編譯並執行程式時,將得到以下結果 -

2018-11-15 09:50:28.903 main[11115] NSLog gets printed always