Objective-C学习笔记--NSLog用法及例子
NSLog的格式如下所示:
- %@ 對象
 - %d, %i 整數
 - %u ??無符整形
 - %f 浮點/雙字
 - %x, %X 二進制整數
 - %o 八進制整數
 - %zu size_t
 - %p 指針
 - %e ??浮點/雙字 (科學計算)
 - %g ??浮點/雙字
 - %s C 字符串
 - %.*s Pascal字符串
 - %c 字符
 - %C unichar
 - %lld 64位長整數(long long)
 - %llu ??無符64位長整數
 - %Lf 64位雙字
 
參考:http://wangjun.easymorse.com/?p=757
例子:http://blog.csdn.net/xiaominghimi/article/details/6570697
http://blog.csdn.net/xujiezhige/article/details/8268375
使用NSLog的風險是:它的運行會占用時間和設備資源。當我們用模擬器時,NSLog的資源占用并不引人注意,風險也不回顯示出來。但是如果你寫的是一個即時戰略游戲,而你在每一個action中都加入了NSLog,那么NSLog將會成為一個魔鬼,災難的具體表現常常是:你在模擬器中運行游戲暢通無阻,但到了真機上,會發現很“卡”,不論是拖動一個單位還是縮放一個場景,FPS也降到了個位數。
簡單而粗暴地解決方案是:在一個游戲release錢,將所有的NSLog注釋掉。簡單有效,但是副作用是,下次你要調試時,又得將NSLog一個一個取消注釋。
一個最為有效的解決方案:以release模式編譯的程序不會用NSLog輸出,而以debug模式編譯的程序將執行NSlog的全部功能。
#ifndef _OPTIMIZE_
#define NSLog(...) NSLog(_VA_ARGS_)
#else
#define NSLog(...){}
#endif
這個代碼的魔術在于:release模式通常會定義_OPTIMIZE_,當然debug模式不會,將這段代碼放在你的頭文件當中,你就可以放心的使用NSLog了
?
*****發現一個問題NSLog(@"char %c",test); ?這樣會出錯,是因為char是關鍵字?
轉載于:https://www.cnblogs.com/cc-Cheng/p/3312893.html
總結
以上是生活随笔為你收集整理的Objective-C学习笔记--NSLog用法及例子的全部內容,希望文章能夠幫你解決所遇到的問題。
                            
                        - 上一篇: 堆排序_百度百科
 - 下一篇: SQL SERVER读书笔记:noloc