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