文档章节

不直接用NSLog

xx明
 xx明
发布于 2014/12/21 12:44
字数 384
阅读 1821
收藏 2


一,固定写法:

        #define  MYLog(...)  NSLog(__VA_ARGS__)

二,注意:

        1,MYLog括号中的...是固定写法,表示可以接受任意多个参数.

        2,NSLog括号中的__VA_ARGS__  也是固定写法,前后用了两个下划线

三,使用方式:

        项目中Supporting files文件夹下有个 "工程名-Prefix.pch"文件,你可以在该文件下声明

        #define  MYLog(...)  NSLog(__VA_ARGS__)

        这样之后工程中的任何一个文件中都可以使用改自定的打印函数(也就是说可以在该.pch中放一些全局的东西)

四,好处:

        这样使用的好处就是,项目调试期间,我们可能会用到好多MYLog()函数打印.

        如果不需要时,只需将.pch中该宏修改为:(这样就相当于MYLog()代表的是注释了)

        #define  MYLog(...)  //NSLog(__VA_ARGS__)    

五,修改:(这样做还不够智能,每次调试的时候需要用到打印,发布的时候不需要打印还要手动修改一下)  

        其实系统提供了一个宏  DEBUG 表示在调试状态下

        因为上述代码可以优化为:    (下述代码是公司常用代码)

#ifdef DEBUG  //调试阶段
#define MYLog(...)  NSLog(__VA_ARGS__)
#else //发布阶段
#define MYLog(...)
#endif

                 

    


© 著作权归作者所有

共有 人打赏支持
上一篇: UIApplication
xx明
粉丝 5
博文 29
码字总数 10912
作品 0
朝阳
私信 提问
OC基础数据类型之字符串,数组和字典

//-------------字符串----------------- //字符串的初始化: //1: NSString string = @"我是非凡程序员!"; NSLog(@"%@",string); //2: NSString string2 = [NSString stringWithFormat:@"我在......

尘埃眠于光年yr
2015/10/14
232
0
一些不常用但有用有意思的宏定义

deprecated_msg 2. NSREQUIRESSUPER , 在自定义的方法后面加上这个, 其子类在重写这个方法时候, 必须调用父类的这个方法, 不然会警告或者直接报错. 3. Debug模式使用NSLog输出, Release模式禁...

hell03W
2016/03/29
87
0
【非凡程序员】 OC第十七节课 文件操作一 (NSFileManager和NSFileHandle)

文件操作 #import <Foundation/Foundation.h> int main(int argc, const char argv[]) { @autoreleasepool { // insert code here... NSLog(@"Hello, World!"); //----------- NSFileMana......

七月流火zsp
2015/06/12
0
0
Objective-C之字符串对象

Foundation框架支持一个名为NSString的类,用于处理字符串对象。注意 : 要使用OC语言创建一个字符串对象,需要在字符串开头放置一个@字符: 一 : NSLog%@用来显示NSString。 结果: 当然值...

Aonaufly
01/01
0
0
OBjectve-c 基本数据类型 总结

#import <Foundation/Foundation.h> #import "Person.h" int main(int argc, const char argv[]) { @autoreleasepool { / 字符串可变 不可变 NSMutableString NSString 数组 可变 不可变 NS......

xtzPioneer
2015/11/13
0
0

没有更多内容

加载失败,请刷新页面

加载更多

ZooKeeper命令大全

创建节点 # 创建节点,-s表示顺序节点,-e表示临时节点,默认是持久节点create [-s] [-e] path data acl # 示例create /zk-book 123 查看节点 ls path [watch] # 示例ls /zk-book 获取...

爱宝贝丶
13分钟前
0
0
QLExpress基本语法

QLExpress基本语法 一、背景介绍 由阿里的电商业务规则、表达式(布尔组合)、特殊数学公式计算(高精度)、语法分析、脚本二次定制等强需求而设计的一门动态脚本引擎解析工具。 在阿里集团有...

xiaomin0322
13分钟前
0
0
Elasticsearch节点角色类型node.master和node.data说明s

一般地,ElasticSearch集群中每个节点都有成为主节点的资格,也都存储数据,还可以提供查询服务。这些功能是由两个属性控制的(node.master和node.data)。默认情况下这两个属性的值都是tru...

傲娇字符
29分钟前
4
0
rem的使用

(function (doc, win) { var docEl = doc.documentElement var resizeEvt = 'orientationchange' in window ? 'orientationchange' : 'resize' var recalc = function () { var cl......

Js_Mei
36分钟前
1
0
idea 删除代码的注释

搜索栏使用 正则表达式搜索 (/\*([^*]|[\r\n]|(\*+([^*/]|[\r\n])))*\*+/|[ \t]*//.*) 会搜索出来所有注释的代码 用空格replace替换掉就可以了。 或者搜索 (/\*([^*]|[\r\n]|(\*+([^*/]|[\r\...

时刻在奔跑
38分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部