自定义NSLog

一般我们开发阶段需要很多NSLog 但是在发布的时候我们就需要把NSLog干掉 为了方便我们使用下面判断语句

我们开发阶段是 DEBUG   上先处于Release

#ifdef DEBUG // 处于开发阶段

#define HWLog(...) NSLog(__VA_ARGS__)

#else // 处于发布阶段

#define HWLog(...)

#endif

时间: 2025-01-07 05:18:28

自定义NSLog的相关文章

在项目中自定义NSLog

1.为什幺自定义NSLog? 因为NSLog在程序运行时是非常耗费内存和资源的.如果在程序运行或发布时让NSLog自动失效会极大提高运行效率 2.定义NSLog的方法 在pch文件中做判断程序处于运行阶段还是发布阶段 3.代码示例 #ifdef DEBUG // 处于开发阶段 #define HWLog(...) NSLog(__VA_ARGS__) #else // 处于发布阶段 #define HWLog(...) #endif 4.图片示例

iOS笔记:Objective-C自定义NSLog宏

/*  XCode LLVM XXX - Preprocessing中Debug会添加 DEBUG=1 标志  */ #ifdef DEBUG #define NSLog(FORMAT, ...) fprintf(stderr,"%s:%d\t%s\n",[[[NSString stringWithUTF8String:__FILE__] lastPathComponent] UTF8String], __LINE__, [[NSString stringWithFormat:FORM

自定义 NSLog以便发版和调试

问题 开发中用了大量的 NSLog,但是发布时想取消这些 NSLog 开发中是否经常用过 NSLog(@"%s", __FUNCTION__); 解决问题 新建 ExtendNSLog 类,继承自 NSObject 在 ExtendNSLog.h 中删除默认代码 添加以下函数声明: void ExtendNSLog(const char *file, int lineNumber, const char *functionName, NSString *format, ...); 在 

自定义NSLog无时间

#define SXLog(FORMAT, ...) fprintf(stderr,"file --\t%s\nline --\t%d\nmethd --\t%s\noutput --\t\n\n%s\n",[[[NSString stringWithUTF8String:__FILE__] lastPathComponent] UTF8String], __LINE__,__FUNCTION__, [[NSString stringWithFormat:FORMAT, ##__VA_

自定义日志

自定义NSLog 在项目里面为了调试的方便, 你京城使用NSLog 如果项目上线的时候,没有删除这些NSLog,app运行缓慢, 而且会产生垃圾文件. 自定义日志的好处:在开发的时候对输出内容,在上线的时候不会输出 前提: 我们需要在测试状态和上线状态下进行测试

不直接用NSLog

公司中不直接使用NSLog,而是利用宏定义自己的打印函数,将该打印函数写在项目的.pch文件中.调试的时候往往用到好多打印,但发布的时候确不需要.(一下是在公司中的一些处理) 自定义NSLog 一,固定写法: #define  MYLog(...)  NSLog(__VA_ARGS__) 二,注意: 1,MYLog括号中的...是固定写法,表示可以接受任意多个参数. 2,NSLog括号中的__VA_ARGS__  也是固定写法,前后用了两个下划线 三,使用方式: 项目中Supporting fi

《objective-c基础教程》学习笔记(六)—— 复合方法

今天我们要讲的复合,当然不是小情侣吵着分手,然后又在一起的复合. 复合遵循一个合成复用原则,又称为组合或者聚合复用原则.该原则的内容是:尽量使用对象组合,而不是继承来达到复用的目的.用聚合可以使系统更加灵活,类与类之间的耦合度降低.在objective-c中,复合是指将多个组件组合在一起,配合使用,从而得到一个完整的作品.严格的说,只有对象之间的组合才是复合.类中的基本数据和结构型对象不算复合. 继承和复合,是类与类之间两种重要的关系.接下来,我们就借用书本上的例子来介绍下复合关系. 假如我们要

Objective-C学习笔记 复合

才看到昨天的不知道为什么没有发出去... 第五章 复合 复合的定义:通过包含作为实例变量的对象指针实现.例如: @interface Unicycle : NSObject {           Pedal*pedal;           Tire*tire; }//Pedal和tire通过复合的方式组成了Unicycle 严格来说只有对象间的组合才叫做复合. 自定义NSLog()可以使用%@格式说明符来输出对象. 存取方法 存取方法是用来读取或改变某个对象属性的方法.如果添加一个新方法去改

UI进阶之常见文件

一. 项目中的常见文件 ** XxxxTest文件夹用来做单元测试. ** Products目录. * 在Mac程序下,生产的可执行文件app会存放到该目录下. * iOS程序时ipa.这个目录对于iOS程序来说意义不大. 1. info.plist(全局配置文件, 非常重要, 不能删除 ): * 在xcode5 中是"项目名称-Info.plist"表示项目的全局配置文件,非常重要.在旧版本xcode中(和xcode6.1),该文件名称就叫Info.plist. ** 注意:自己创建