自定义NSLog
**新建 ExtendNSLog 类,继承自 NSObject
**在 ExtendNSLog.h 中删除默认代码 添加以下函数声明:
void ExtendNSLog(const char *file, int lineNumber, const char *functionName, NSString *format, ...);
**在 ExtendNSLog.m 中删除默认代码 添加以下代码实现:
void ExtendNSLog(const char *file, int lineNumber, const char *functionName, NSString *format, ...) {
va_list ap;
va_start(ap, format);
if (![format hasSuffix: @"\n"]) {
format = [format stringByAppendingString: @"\n"];
}
NSString *body = [[NSString alloc] initWithFormat:format arguments:ap];
va_end(ap);
NSString *fileName = [[NSString stringWithUTF8String:file] lastPathComponent];
fprintf(stderr, "(%s) (%s:%d) %s",
functionName,
[fileName UTF8String],
lineNumber,
[body UTF8String]);
}
**新建 PrefixHeader.pch 文件 输入以下内容:
#ifdef __OBJC__ #import <UIKit/UIKit.h> #import <Foundation/Foundation.h> #import "ExtendNSLog.h" #ifdef DEBUG #define NSLog(args...) ExtendNSLog(__FILE__, __LINE__, __PRETTY_FUNCTION__, args); #else #define NSLog(x...) #endif #endif
**选择 项目->TARGETS->[ProjectName]->Build Settings
在搜索框输入 prefix header 在 Prefix Header中输入 [ProjectName]/PrefixHeader.pch
**运行测试,修改运行模式
搞定收工!
转自:http://liufan321.github.io

浙公网安备 33010602011771号