在開發過程當中,咱們常常須要用到NSLog輸出一些信息,甚至有的開發過程,必須在控制檯查看輸出,有經驗的程序員經過控制檯輸出就能知道整個數據交互的一個流程。可是一個發佈的程序,裏面帶有太多的NSLog輸出,確定對於App性能有所影響,這時候咱們能夠使用一個宏定義來處理,在開發的時候使用DEBUG模式,在發佈的時候使用RELEASE模式。這樣,發佈的App就不會在程序內部作大量的NSLog輸出了。程序員
簡單的代碼以下,性能
#if defined(DEBUG)||defined(_DEBUG) NSLog(@"測試代碼"); NSLog(@"Test Coding"); #endif
上面的#if #endif宏定義的意思就是若是定義了DEBUG,那麼就使用NSLog輸出;不然這段代碼直接忽略。有人會疑問這個DEBUG和_DEBUG來自哪裏,這個其實不用擔憂,這個來自於Xcode的默認設置,咱們能夠取消DEBUG模式,開啓RELEASE發佈模式,以下截圖所示,測試
選擇Product->Scheme->Edit Scheme,code
下圖能夠選擇Debug和Release兩種模式,資源
這裏我選擇了Release,那麼則默認沒有定義Debug,則上面代碼中#if...#endif之間的輸出NSLog不會執行。這樣就在發佈程序的時候,節省了一些硬件設備的資源。開發