首页
学习
活动
专区
工具
TVP
发布
您找到你想要的搜索结果了吗?
是的
没有找到

如何使NSLog只在Debug模式下有效

https://blog.csdn.net/u010105969/article/details/50757136 1#ifndef __OPTIMIZE__    2#define NSLog...NSLog(__VA_ARGS__)    3#else    4#define NSLog(...) {}    5#endif  就是上面的这段简单代码就可以让我们的NSLog只在Debug模式即开发过程中有效...,而当我们的程序处在Release模式下即程序发布中NSLog将无效,这样可以减少用户使用程序的内存开销,同时也免去了我们在开发过程中不断敲下NSLog并不断注释NSLog的繁琐工作。...首先将上面的代码写到头文件中,然后在你要是用NSLog的.m文件中导入头文件即可。...代码原理: 上面 的代码实际是定义了一个宏,这个宏名称恰好也是NSLog,我们在其他文件中使用的NSLog已经不再是原来的NSLog而是定义的宏NSLog,(此NSLog非彼NSLog---)。

68820

最基本的调试是NSLog及DEBUG预处理器宏

此文档关于有关NSLog的功能及DEBUG预处理程序宏实际考虑为调试有用的对话 下面是NSLog调用的一个例子。...[TOC] 在哪里可以找到NSLog的输出 有史以来Founction框架的NSLog功能一直适用于iOS和OSX的个个版本。因此,您可以依赖它是可用于在任何苹果的平台,让您的应用程序将运行调试用的。...许多系统框架中使用NSLog的用于记录异常和错误,但不要求来限制及其使用于上述目的这也是完全可以接受的使用NSLog的输出变量值,参数,函数结果,堆栈跟踪等信息,所以你可以看到什么是在你的代码在运行时发生...高级详细信息 出现用于NSLog的函数定义如下: void NSLog(NSString *format, ...); 注意第一个参数是一个格式化字符串,它可以含有意味着额外的参数之后期望特殊的替换标记...NSLog是调试的朋友 每一个iOS或者OSX的开发人员无时无刻的使用NSLog调试你的程序,而且,你知道开发者可能对如何使用它的一些有趣的想法可能对你有帮助。

1.4K30

Xcode8禁止系统log&真机调试NSLog无输出

连真机调试的时候NSLog输出的功能也失效了,那还怎么调试! 只能自己改写NSLog的实现宏定义了,利用printf()方法来实现。...这样全局都可用,至于Prefix.pch文件是什么以及怎么创建,可以看我这篇文章:Xcode 6之后创建PCH文件 在Prefix.pch文件中添加以下代码: #ifdef DEBUG // 调试时改变NSLog...方法,输出时间、方法名、行数、输入的内容 #define NSLog(format, ...) printf("\n[%s] %s [第%d行] %s\n", __TIME__, __FUNCTION_..._, __LINE__, [[NSString stringWithFormat:format, ## __VA_ARGS__] UTF8String]); #else #define NSLog(...#endif 根据代码可以很明显地看出来,定义了如果是DEBUG调试状态,就重新定义NSLog方法,否则还是使用系统原生的实现。

55620
领券