Swift:Debug和Release状态下错误输出
在编写项目的过程中,我们常常会打印信息到控制台,通过打印的信息来判断代码的流程或者正确性。但是这些信息仅仅在Debug的状态下需要,一旦版本发布之后,我们就不需要这些打印操作了。如果是在发布版本之前,程序员手动一个个的去注释或者删除打印操作,这必然是一件浪费时间而又麻烦的事情。如果不处理,上线的版本运行在手机中,这些打印操作势必会影响一些性能的。下面就记录一下在项目中如何处理。
Debug下输出信息至控件台,Release下不输出。
一、在OC中,我们常常会通过一个宏定义来控制打印操作。
#ifdef DEBUG #define MyLog(...) NSLog(__VA_ARGS__) #else #define MyLog(...) #endif
二、在Swift中一般使用下面两种方法来控制。
1、自己写一个工具类 DebugLogTool, 通过控制isDebug的值来控制打印情况。(不推荐)
class DebugLogTool:NSObject{ private static let isDebug:Bool = true static func debugLog(item:Any){ if isDebug{ print(item) } } }
2、通过配置工程文件,加上工具类 DebugLogTool。(推荐)
import UIKit class DebugLogTool: NSObject { static func debugLog(item:Any){ #if DEBUG print(item) #else #endif } }