Swift 自定義Log(Debug — Release)

NO.1 先了解下 Debug 和 Release 的區(qū)別
  • Release是發(fā)行版本,比Debug版本有一些優(yōu)化,文件比Debug文件小 Debug是調(diào)試版本,Debug和Release調(diào)用兩個(gè)不同的底層庫(kù)。
  • 一、"Debug是調(diào)試版本,包括的程序信息更多"
  • 二、只有DEBUG版的程序才能設(shè)置斷點(diǎn)、單步執(zhí)行、使用TRACE/ASSERT等調(diào)試輸出語(yǔ)句。
  • 三、REALEASE不包含任何調(diào)試信息,所以體積小、運(yùn)行速度快。
NO.2
  • 在Swift中我們普通打印的話,默認(rèn)只會(huì)打印想要打印的內(nèi)容不會(huì)像OC那樣打印附加的一些信息
print(“我是帥哥嗎?")
  • 系統(tǒng)只會(huì)打印:
Snip20160929_3.png

不會(huì)有其它信息,所以我們?cè)谡{(diào)試的時(shí)候是不方面的,所以我們需要自己寫(xiě)一個(gè)打印方法,來(lái)顯示一些必要的打印信息,方便我們平時(shí)調(diào)試程序

NO.3 直接上代碼,寫(xiě)在 AppDelegate 中的一個(gè)全局函數(shù)
func JJLog<T>(messsage : T, file : String = #file, funcName : String = #function, lineNum : Int = #line) {
    let fileName = (file as NSString).lastPathComponent
    print("\(fileName):(\(lineNum))-\(messsage)")
}
  • 使用:
 JJLog("就是帥哥")
Snip20160929_5.png

這樣就會(huì)顯示是在哪個(gè)類,哪一行進(jìn)行的打印

NO.4 最后我們還要設(shè)置在Release狀態(tài)下不會(huì)出現(xiàn)這些打印
  • 按下面的操作,給Debug狀態(tài)設(shè)置一個(gè)標(biāo)記,這樣系統(tǒng)會(huì)判斷只在Debug狀態(tài)才進(jìn)行打印
Snip20160929_6.png
  • 在Build Settings 搜索 Swift flags 展開(kāi)Debug 添加標(biāo)記 并在我們的全局函數(shù)中加入判斷
func JJLog<T>(messsage : T, file : String = #file, funcName : String = #function, lineNum : Int = #line) {
    
    #if DEBUG
    
    let fileName = (file as NSString).lastPathComponent
    
    print("\(fileName):(\(lineNum))-\(messsage)")
    
    #endif
}
  • 這樣設(shè)置后,我們的調(diào)試打印,在Release情況下就不會(huì)再打印了
后記:Swift初學(xué),感謝小碼哥。。。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,552評(píng)論 19 139
  • 發(fā)現(xiàn) 關(guān)注 消息 iOS 第三方庫(kù)、插件、知名博客總結(jié) 作者大灰狼的小綿羊哥哥關(guān)注 2017.06.26 09:4...
    肇東周閱讀 15,261評(píng)論 4 61
  • 文/愛(ài)啃骨頭的貓咪 文字是視覺(jué)媒體中的重要構(gòu)成要素,文字排列組合的好壞,直接影響著版面的視覺(jué)傳達(dá)效果。 新媒體運(yùn)營(yíng)...
    愛(ài)啃骨頭的貓咪閱讀 3,351評(píng)論 0 1
  • 意十年 初相見(jiàn),豆蔻年,少不更事只愛(ài)憐。殊不知,一眼已十年。 而如今,梅之年,世事歷經(jīng)...
    一席之賓閱讀 236評(píng)論 0 2
  • “鄭州 90km” 我抬頭看到那條高速路邊上的牌子。不知道離家具體有多遠(yuǎn)了,我已經(jīng)走了一個(gè)多月了,一路向南。這十月...
    怪獸在這兒閱讀 257評(píng)論 2 1

友情鏈接更多精彩內(nèi)容