zoukankan      html  css  js  c++  java
  • 自定义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: @"
    "]) {
            format = [format stringByAppendingString: @"
    "];
        }
    
        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

  • 相关阅读:
    《web-Mail服务的搭建》
    VMware虚拟机三种联网方法及原理
    Java总结——常见Java集合实现细节(1)
    nginx静态资源缓存策略配置
    算术验证
    JPA学习
    Spring中AOP实现
    转:Spring中事物管理
    使用docker发布spring cloud应用
    综合使用spring cloud技术实现微服务应用
  • 原文地址:https://www.cnblogs.com/yangzhifan/p/4869490.html
Copyright © 2011-2022 走看看