在開發(fā)過程中,我們經常需要用到NSLog輸出一些信息,甚至有的開發(fā)過程,必須在控制臺查看輸出,有經驗的程序員通過控制臺輸出就能知道整個數據交互的一個流程。但是一個發(fā)布的程序,里面帶有太多的NSLog輸出,肯定對于App性能有所影響,這時候我們可以使用一個宏定義來處理,在開發(fā)的時候使用DEBUG模式,在發(fā)布的時候使用RELEASE模式。這樣,發(fā)布的App就不會在程序內部做大量的NSLog輸出了。
簡單的代碼如下,
#ifdefined(DEBUG)||defined(_DEBUG)
NSLog(@"測試代碼");????
NSLog(@"Test?Coding");
#endif
上面的#if #endif宏定義的意思就是如果定義了DEBUG,那么就使用NSLog輸出;否則這段代碼直接忽略。有人會疑問這個DEBUG和_DEBUG來自哪里,這個其實不用擔心,這個來自于Xcode的默認設置,我們可以取消DEBUG模式,開啟RELEASE發(fā)布模式,如下截圖所示,
選擇Product->Scheme->Edit Scheme,(圖1)
圖1
下圖可以選擇Debug和Release兩種模式,
圖2
這里我選擇了Release,那么則默認沒有定義Debug,則上面代碼中#if...#endif之間的輸出NSLog不會執(zhí)行。這樣就在發(fā)布程序的時候,節(jié)省了一些硬件設備的資源。