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
    }
}

 

 
posted @ 2017-03-23 16:58  ys123456789  阅读(746)  评论(0编辑  收藏  举报