Objective-C中NSLog學習文檔
Objective-C中NSLog學習文檔是本文喲啊介紹的內(nèi)容,主要是來學習NSLog輸出格式,談到NSLog對程序性能的影響,來看詳細內(nèi)容。
NSLog 輸出格式
- • %@ 對象
- • %d, %i 整數(shù)
- • %u 無符整形
- • %f 浮點/雙字
- • %x, %X 二進制整數(shù)
- • %o 八進制整數(shù)
- • %zu size_t
- • %p 指針
- • %e 浮點/雙字(科學計算)
- • %g 浮點/雙字
- • %s C 字符串
- • %.*s Pascal字符串
- • %c 字符
- • %C unichar
- • %lld 64位長整數(shù)(long long)
- • %llu 無符64位長整數(shù)
- • %Lf 64位雙字
NSLog對程序性能的影響
NSLog 既可以像printf那樣方便地格式化輸出,同時還能輸出時間以及進程ID等信息,可謂調(diào)試利器.但是其實NSLog對程序性能也有不小的影響,在執(zhí)行次數(shù)比較少的情況下可能看不出來什么,當短時間大量執(zhí)行的時候就會對程序執(zhí)行效率產(chǎn)生可觀的影響.
我遇到的一種情況就是我在一個UIScrollView子類的layoutSubviews方法中輸出了很多次log,而這個layoutSubviews本身又有相對繁重的工作要做,由于每次拖動這個UIScrollView都要調(diào)用很多次layoutSubviews,因此程序?qū)嶋H運行起來拖動體驗就非常差,卡頓現(xiàn)象嚴重,多次測試發(fā)現(xiàn)注釋掉所有的NSLog后拖動就變得正常了.
綜上,當你疑惑是什么導致了你的程序運行效率很差的時候不妨注釋掉那些NSLog試試,你的問題也許就迎刃而解了
--可以包一個debuglog之類的函數(shù),然后放到#ifdef DEBUG下,就不會太影響了
小結(jié):Objective-C中NSLog學習文檔的內(nèi)容介紹完了,希望本文對你有所幫助!