Objective-C日志处理

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