Objective-C 日誌處理
NSLog 方法
為了打印日誌,在Objective-C編程語言我們使用 NSLog 方法,我們從使用Hello World 示例開始。
讓我們來看看一個簡單的代碼,將打印 “Hello World”:
#import <Foundation/Foundation.h> int main() { NSLog(@"Hello, World! "); return 0; }
現在,當我們編譯並運行程序,我們會得到以下的結果。
2013-09-16 00:32:50.888 demo[16669] Hello, World!
在Live應用程序禁用日誌
在我們的應用程序中使用 NSLogs 以來,它會被印在設備的日誌,這是不好的在現場打印生成的日誌。因此,我們使用的類型定義打印日誌,如下圖所示,我們可以使用它們。
#import <Foundation/Foundation.h> #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; }
現在,當我們編譯和運行的程序在調試模式下,我們會得到以下的結果。
2013-09-11 02:47:07.723 demo[618] Debug log, our custom addition gets printed during debug only 2013-09-11 02:47:07.723 demo[618] NSLog gets printed always
現在,當我們編譯和運行的程序在釋放模式,我們會得到以下的結果。
2013-09-11 02:47:45.248 demo[3158] NSLog gets printed always